如何在Cypress中将文本输入字段值获取为'const'变量,以便我可以使用cy.log()记录该变量。以下代码不会记录任何内容,熟悉Cypress.io的人可以建议
cy.get('input[name="email"]').then(($text)=>{
const txt = $text.text()
cy.log(txt)
})
答案 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()
})