小编Bre*_*dan的帖子

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

我有这个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">
Run Code Online (Sandbox Code Playgroud)

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

我尝试使用its()

cy
  .get(selector)
  .its("value")
  .should("contain", "-Updated");
Run Code Online (Sandbox Code Playgroud)

但是得到错误:

CypressError:超时重试:cy.its()错误,因为主题上的属性'value'不存在。

我也尝试过invoke

cy
  .get(selector)
  .invoke("value")
  .should("contain", "-Updated");
Run Code Online (Sandbox Code Playgroud)

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

CypressError:超时重试:cy.invoke()错误,因为您的主题上不存在属性“ value”。

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

产生:输入id =“” type =“ text” name =“名字” value =“伪更新” 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“

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

cypress

13
推荐指数
4
解决办法
9813
查看次数

使用   断言元素的文本

我需要检查一个 Div 标签的文本,并确保它显示的不是正确的文本

这是 HTML 代码:

HTML 标签

这是我为断言内容而编写的步骤定义

    Given(/^offer summary section should display "([^"]*)" amount against "([^"]*)"$/, (charge, labelText) => {
    const parentElement = cy.get('.c-offer-summary > .c-offer-summary__ledger').children('.c-ledger__section').find('.c-ledger__row-name').contains(labelText).parent();
    parentElement.find('.c-ledger__row-amount').invoke('text').should('eq',charge);
});
Run Code Online (Sandbox Code Playgroud)

但是 cypress 抛出了一个错误:

错误

我不知道我哪里错了!!!:(

任何帮助表示赞赏

mocha.js chai cypress

10
推荐指数
3
解决办法
2983
查看次数

标签 统计

cypress ×2

chai ×1

mocha.js ×1