选择器的变换值

Posted

技术标签:

【中文标题】选择器的变换值【英文标题】:Transform value of Selector 【发布时间】:2020-05-27 13:59:06 【问题描述】:

我有一个 html 元素 <div id="the-value">30 000</div> 用于计算内容。

我需要将此元素的值断言为有效数字 (>= 20000),但是 value 属性返回一个字符串,我无法使用 .gte() 断言它

此断言失败:AssertionError: expected '30 000' to be a number or a date

await t.expect(Selector('#the-value').value).gte(20000);

如何在断言之前将字符串转换为数字?

【问题讨论】:

在评估之前不能用parseInt() 将其转换为数字吗? 【参考方案1】:

当您使用 testcafe 时,您应该能够等待选择器并稍后在其上运行测试。所以你可以这样做:

const selector = await Selector('#the-value').value;
const selectorNumber = parseInt(selector);

await t.expect(selectorNumber).gte(20000);

【讨论】:

谢谢,这对我有用。由于该值来自后端服务器,因此我不得不在前面加上 .wait(2000) 啊,有趣。没有想到这种可能。很高兴它现在可以工作了。【参考方案2】:

.expect(+Selector('#the-value').value).gte(20000)

加号将字符串转换为数字,希望这会起作用

另一种方法是使用 parseInt,因为如果字符串中的值不是有效数字,它将静默失败

【讨论】:

这不起作用。 .value 返回 Promise<string> 这听起来很奇怪,但是先等待值然后将值转换为数字怎么样?

以上是关于选择器的变换值的主要内容,如果未能解决你的问题,请参考以下文章

尝试使用在选择器中选择的索引值而不是选择器的值

jquery选择器的总结

根据下拉值设置 2 个日期选择器的最小日期和最大日期

选择器的类型

layui中怎么在查询中获取日期选择器的值然后重载表格并加载选择的日期到表头

将 WPF Toolkit 日期选择器的值重置为“默认”值