gpt4 book ai didi

cypress - 尝试从Cypress中的元素获取属性时出错

转载 作者:行者123 更新时间:2023-12-03 22:33:25 30 4
gpt4 key购买 nike

我有这个HTML元素:

<input id="" type="text" name="last_name" value="Userc7bff2d0-7faf-11e8-9884-8fe4c5df7f77-Updated" class="medium" maxlength="2000" autocomplete="off" tabindex="" data-reactid=".0.2.0.1.0.2.1.0.1.0.0.1:0.1.0.1.2:$/=10">

我想获取它的 value属性,以断言它已经通过我的测试进行了更新。

我尝试使用 its():
cy
.get(selector)
.its("value")
.should("contain", "-Updated");

但是得到错误:

CypressError: Timed out retrying: cy.its() errored because the property: 'value' does not exist on your subject.



我也尝试过 invoke:
cy
.get(selector)
.invoke("value")
.should("contain", "-Updated");

但是得到一个类似的错误:

CypressError: Timed out retrying: cy.invoke() errored because the property: 'value' does not exist on your subject.



在这两种情况下,get()命令的 Cypress 控制台输出均成功显示具有 value属性的元素:

Yielded: input id="" type="text" name="first_name" value="Fake-Updated" class="medium" maxlength="2000" autocomplete="off" tabindex="" data- reactid=".0.2.0.1.0.2.1.0.1.0.0.1:0.1.0.0.2:$/=10"



我有点为难。如果您需要更多信息或有什么想法请告诉我。

最佳答案

invoke() 在元素上调用jquery函数。要获取输入的值,请使用函数val():

cy.get('input').invoke('val').should('contain', 'mytext')

这是 ,而不是,与获取不会随用户输入更新的 值属性相同,它仅在渲染元素时预设值。要获取属性,可以使用jquery函数 attr():

cy.get('input').invoke('attr', 'placeholder').should('contain', 'username')

关于cypress - 尝试从Cypress中的元素获取属性时出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51178736/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com