testing - 您如何比较 Testcafe 中的选择器属性?
问题描述
我正在尝试将网页上的视频日期与今天的日期进行比较。如果两个日期之间的差异超过 X 天,则报告为 false。
网页上的视频中有一个标签,格式为 yyyy-mm-dd
我设置了一个选择器来查找视频const videoDate = Selector('OPTA-video').withAttribute('data-secondary-time')
现在如何将变量设置为今天的日期并比较两者?我完全被困住了!
我之前使用过 Katalon Studio,这是做同样工作的 groovy 脚本:
String videoDate = WebUI.getAttribute(findTestObject('OPTA-video'), 'data-secondary_time')
LocalDate todaysDate = LocalDate.now()
LocalDate videoDateParsed = LocalDate.parse(videoDate, dtf)
if (ChronoUnit.DAYS.between(videoDateParsed, todaysDate) > 1) {
KeywordUtil.markFailed('The videos are 2+ days old.')
} else {
KeywordUtil.logInfo('The videos are up to date.')
}
解决方案
您可以使用getAttribute
TestCafe 方法来访问属性值。然后,将属性值解析为 JavaScript Date对象:
String videoDate = Selector('OPTA-video').getAttribute('data-secondary-time');
Date videoDateParsed = Date.parse(videoDate);
Date todaysDate = Date.now()
...
在以下线程中,您可以找到如何比较 Date 对象。
推荐阅读
- pandas - 使用pandas库根据csv中的另一个列值填充空白值
- java - 无法解析 imageView 中的方法 setText()
- javascript - 由于 ./node_modules/vue-loader/lib/template-compiler 中的错误,模块构建失败
- javascript - React Scriptloader 创建酶状态问题
- javascript - 根据 toLocaleTimeString() 将 12 小时 hh:mm AM/PM 转换为 24 小时 hh:mm
- android - 如何修复共享首选项在 Flutter 中返回空字符串?
- reactjs - 将类组件更改为功能组件
- bash - 使用bash将日期列表从文件转换为时间戳
- javascript - Vue.js - Element.io - 复合键
- django - 没有这样的表:Append_employeemodel Django