如何将文本输入字段的值获取为const并将该值记录在Cypress.io中

时间:2018-08-10 20:15:38

标签: javascript cypress

如何在Cypress中将文本输入字段值获取为'const'变量,以便我可以使用cy.log()记录该变量。以下代码不会记录任何内容,熟悉Cypress.io的人可以建议

cy.get('input[name="email"]').then(($text)=>{
        const txt = $text.text()
        cy.log(txt)

    })

5 个答案:

答案 0 :(得分:5)

<块引用>

Cypress 官方解决方案 How do I get an input’s value? 建议如下代码:

cy.get('input[name="email"]').should('have.value', val)

答案 1 :(得分:4)

来自https://github.com/cypress-io/cypress/issues/630

您应该能够:

cy
  .get('input[name="email"]')
  .invoke('text')  // for input or textarea, .invoke('val')
  .then(text => {
    const someText = text;
    cy.log(someText);
  });

这在以下元素的测试中对我有用:

<span class="abProgress" style="width: 0%;">100%</span>

答案 2 :(得分:4)

使用invoke('val')代替invoke('text')可以解决我的情况。

html标记的提醒

<input type="text" class="form-control" name="email">

赛普拉斯密码

cy.get('input[name="email"]')
  .invoke('val')
  .then(sometext => cy.log(sometext));

答案 3 :(得分:0)

答案 4 :(得分:0)

如果您想在断言之前处理或处理文本:

cy.get('input').should(($input) => {
  const val = $input.val()
})

using-cypress-faq