Kir*_*Lyn 2 javascript cypress
我试图断言输入字段的值:
cy.get('[data-vv-name="item price"]')
.then(response => {
expect(response.value).to.be.equal('100')
})
Run Code Online (Sandbox Code Playgroud)
但我收到一个错误:
Property 'value' does not exist on type 'JQuery<HTMLElement>'
Run Code Online (Sandbox Code Playgroud)
但是当我在控制台尝试代码时:
$('[data-vv-name="item price"]').value
Run Code Online (Sandbox Code Playgroud)
我能够得到正确的值'100'。我应该添加/更新什么才能使我的断言正确?我在这里错过了什么吗?
编辑:
使用以下内容,我能够做出我的断言
expect((<HTMLInputElement>response[0]).value).to.be.equal(10)
Run Code Online (Sandbox Code Playgroud)
jQuery 对象没有.value属性,但它们有.val()可以使用的方法
cy.get('[data-vv-name="item price"]')
.then($el => {
// $el is convention for naming jQuery objects
expect($el.val()).to.be.equal('100')
})
Run Code Online (Sandbox Code Playgroud)
.invoke()或在链中使用(参考invoke)
cy.get('[data-vv-name="item price"]')
.invoke('val')
.then(value => {
expect(value).to.be.equal('100')
})
.should('eq', '100') // alternative to above assertion
Run Code Online (Sandbox Code Playgroud)
或者你可以使用.should('have.value', ...)链器(参考应该)
cy.get('[data-vv-name="item price"]')
.should('have.value', '100')
Run Code Online (Sandbox Code Playgroud)
或使用.value展开元素的属性,如您所示
| 归档时间: |
|
| 查看次数: |
407 次 |
| 最近记录: |