如何获取元素的值,并评估它在Cypress中是否为负值?

如何获取元素的值,并评估它在Cypress中是否为负值?,cypress,Cypress,我想检查图片中突出显示的-4.55值是否为负值。 这是HTML代码 所以我尝试了cy.get('span[class=“ng binding”]”)。invoke('text')。然后((text)=>{expect(text).to.be.lessThan(0)}) 但这似乎不是正确的语法 非常感谢您的帮助。假设您的定位器是正确的,并且您成功地在文本变量中获取了“-4.55”。接下来要做的是将文本转换为数字。您可以使用来执行此操作: cy.get('span[class="ng-b

我想检查图片中突出显示的-4.55值是否为负值。 这是HTML代码

所以我尝试了
cy.get('span[class=“ng binding”]”)。invoke('text')。然后((text)=>{expect(text).to.be.lessThan(0)})
但这似乎不是正确的语法


非常感谢您的帮助。

假设您的定位器是正确的,并且您成功地在文本变量中获取了“-4.55”。接下来要做的是将文本转换为数字。您可以使用来执行此操作:

cy.get('span[class="ng-binding"]').invoke('text').then((text) => {
    expect(parseInt(text)).to.be.lessThan(0)
})

假设您的定位器是正确的,并且您成功地在文本变量中获得“-4.55”。接下来要做的是将文本转换为数字。您可以使用来执行此操作:

cy.get('span[class="ng-binding"]').invoke('text').then((text) => {
    expect(parseInt(text)).to.be.lessThan(0)
})

ng绑定
出现在英语应用程序的许多元素上。您最好选择更具体的命令,即使Cypress命令更长

此外,当按类选择时,可以使用模式
元素.class
的较短语法。如果存在多个类,则这具有优势

比如说,

cy.get('a.receipt-item\uuu input')
.children().eq(0)
.invoke('text'))
.should('包含','-')

检查负号是解析为数字的替代方法,如果文本具有非数字字符(例如货币符号),则最好避免转换错误。

ng绑定在英语应用程序的许多元素上出现。您最好选择更具体的命令,即使Cypress命令更长

此外,当按类选择时,可以使用模式
元素.class
的较短语法。如果存在多个类,则这具有优势

比如说,

cy.get('a.receipt-item\uuu input')
.children().eq(0)
.invoke('text'))
.should('包含','-')

检查负号是解析为数字的替代方法,如果文本具有非数字字符(例如货币符号),则最好避免转换错误。

tks@alapan。我只是做了一个小小的修改。我没有使用
cy.get(('span[class=“ng binding”]”)
而是使用
cy.get('iscroll tap stop='lineprice()]>span:nth类型(1)”).invoke('text')。然后(parseFloat.).should('be.lessThan',0)
它起作用了。
parseInt()
在你的情况下也起作用了。我看到您更改了定位器,我对最初提到的定位器也持怀疑态度,因为我可以看到同一类的两个实例。因此,我在问题中提到,假设您的定位器是正确的。不管怎么说,很高兴你最终成功了。真的。我只是做了一个小小的修改。我没有使用
cy.get(('span[class=“ng binding”]”)
而是使用
cy.get('iscroll tap stop='lineprice()]>span:nth类型(1)”).invoke('text')。然后(parseFloat.).should('be.lessThan',0)
它起作用了。
parseInt()
在你的情况下也起作用了。我看到您更改了定位器,我对最初提到的定位器也持怀疑态度,因为我可以看到同一类的两个实例。因此,我在问题中提到,假设您的定位器是正确的。不管怎么说,很高兴你最终成功了。