Kav*_*mar 4 jquery attributes invoke cypress
我需要获取 data-id 的值,但是当我使用下面的代码时,它不会返回任何值。
cy.get('[data-nemo=token]')
.invoke('attr', 'data-id').then(dataId => {
cy.log('dataId : ', dataId);`enter code here`
});
Run Code Online (Sandbox Code Playgroud)
谢谢,
根据 Cypress 文档,您可以用来cy.invoke调用 jQuery 方法。所以,就像在 jQuery 中一样,你会这样做
$('[data-nemo=token]').data('id');
Run Code Online (Sandbox Code Playgroud)
在赛普拉斯,它是
cy.get('[data-nemo=token]').invoke('data', 'id');
Run Code Online (Sandbox Code Playgroud)
如果您随后想要使用该值,则可以使用.then或创建一个别名.as,并在稍后的测试中引用该别名:
cy.get('[data-nemo=token]')
.invoke('data', 'id')
.then(dataId => cy.log('dataId : ', dataId));
Run Code Online (Sandbox Code Playgroud)
或者
cy.get('[data-nemo=token]')
.invoke('data', 'id')
.as('dataId');
cy.get('@dataId')
.then(dataId => cy.log('dataId : ', dataId));
Run Code Online (Sandbox Code Playgroud)