cucumber - 空手道 DSL - 需要在 POST 请求中传递当前日期和过去日期作为参数
问题描述
我需要在空手道的 POST 请求中传递当前日期和过去日期。这就是我正在做的事情:
在后台我计算当前日期和过去日期 - 背景:
def todaysdate =
"""
function(curdate){
var currentDate = new Date();
karate.log(currentDate);
return currentDate;
}
"""
And def minus30date =
"""
function(pasdate){
var pastDate = new Date();
pastDate.setDate(pastDate.getDate() - 30);
karate.log(pastDate);
return pastDate;
}
"""
上面的代码在控制台中给了我这样的日期:
[Date 2020-07-20T16:18:15.369Z]
[Date 2020-06-20T16:18:15.379Z]
POST 请求位于场景大纲的示例部分中:
| Individual ID Request |
| '{ "endDate": "2020-06-20T16:18:15.379Z", "startDate": "2020-07-20T16:18:15.369Z" }' |
如何在开始和结束日期的请求中使用返回变量?我尝试在请求中添加“#(pastDate)”之类的内容,但它不起作用。我尝试调用场景大纲中的函数并将它们分配给一个变量并在请求中使用它,但这也不起作用。
任何帮助,将不胜感激。
解决方案
您的日期功能可以修改如下,
* def getDate =
"""
function(numberOfDays){
var date = new Date();
date.setDate(date.getDate() + (numberOfDays));
return date.toString()
}
"""
之后,您可以使用如下参数调用该函数,
* def todaysdate = getDate(0)
* def minus30date = getDate(-30)
* def payload = {"startDate" : "#(todaysdate)", "endDate" : "#(minus30date)"}
或者
* def payload = {"startDate" : "#(getDate(0))", "endDate" : "#(getDate(-30))"}
推荐阅读
- reactjs - Antd菜单组件当前页面导航菜单无法高亮
- function - STM32的不可靠延迟功能
- ios - 单个苹果 id 多个应用用户在应用购买问题中自动更新
- asp.net - 带有 C# 客户端的 ASP.NET Web API Core 5.0 中的错误
- ubuntu - 引导 CMake 时出错:在 ubuntu 上脱机安装
- ios - 有没有办法为同一个 Xcode 工作区中的每个项目定义不同的依赖项?
- ruby-on-rails - 为什么 HERE oauth2 令牌请求 api 使用 Rails 返回 401300,但使用 Postman 可以正常工作?
- docker - 如何从多阶段 docker 构建连接到 BitBucket 服务容器?
- html - 如何进行这种响应式设计?
- split - Power BI:按字符串从其他列拆分列