首页 > 解决方案 > 您如何比较 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.')
}

标签: testingattributesautomated-testsselectortestcafe

解决方案


您可以使用getAttributeTestCafe 方法来访问属性值。然后,将属性值解析为 JavaScript Date对象:

String videoDate = Selector('OPTA-video').getAttribute('data-secondary-time');

Date videoDateParsed = Date.parse(videoDate);

Date todaysDate = Date.now()

...

在以下线程中,您可以找到如何比较 Date 对象。


推荐阅读