我正在使用机器人框架来测试我的 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");
使用 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 应用程序上日期选择器输入字段的定位器。
希望这有帮助!