使用机器人框架在日期选择器中选择今天前 15 天的日期

问题描述 投票:0回答:1

我正在使用机器人框架来测试我的 Web 应用程序。我需要选择一个比当前日期早 15 天的日期。该应用程序使用 ng-model datepicker 工具。

到目前为止,我已经尝试获取当前日期和上一个日期,并且还尝试删除为 dateselected 提交的输入的只读属性。但问题是我无法选择之前的日期。

     ${date}=        Get Current Date   result_format=datetime
 ${monthyear}=  Convert Date    ${date} result_format=%m%Y
 ${my_date_to_select}=    Get Current Date    UTC    -15 days   %Y-%m-%dT%H:%M:%S.%f
 ${expectedMonthYear}=  Convert Date    ${my_date_to_select}    result_format=%m%Y
 ${day}=    Convert Date    ${my_date_to_select}    result_format=%d
  Execute Javascript                         document.getElementById("datepickerLMP").removeAttribute("readonly");
  Execute Javascript          document.getElementById("datepickerLMP").removeAttribute("onchange");
frameworks robot
1个回答
0
投票

使用 DateTime 库中的“获取当前日期”关键字以所需格式获取当前日期。例如:

${current_date}=  Get Current Date  result_format=%Y-%m-%d

这将为您提供格式为“yyyy-mm-dd”的当前日期。

使用 DateTime 库中的“转换日期”关键字将当前日期转换为日期时间对象。例如:

${current_datetime}=  Convert Date  ${current_date}  result_format=datetime

这将为您提供当前日期的日期时间对象。

使用 DateTime 库中的“从日期减去时间”关键字从当前日期减去 15 天。例如:

${previous_datetime}=  Subtract Time From Date  ${current_datetime}  15 days

这将为您提供当前日期前 15 天的日期时间对象。

使用 DateTime 库中的“格式化日期”关键字以 ng-model 日期选择器期望的格式格式化前一个日期。例如:

   ${previous_date}=  Format Date  ${previous_datetime}  result_format=%Y-%m-%d

这将为您提供格式为“yyyy-mm-dd”的前一个日期。

使用 SeleniumLibrary 中的“输入文本”关键字将日期选择器输入字段的值设置为前一个日期。例如:

Input Text  ${date_picker_locator}  ${previous_date}

将 ${date_picker_locator} 替换为 Web 应用程序上日期选择器输入字段的定位器。

希望这有帮助!

© www.soinside.com 2019 - 2024. All rights reserved.