jquery - 如何在 cypress 中获取 data-id 的值
问题描述
我需要获取 data-id 的值,但是当我使用下面的代码时,它不会返回任何值。
cy.get('[data-nemo=token]')
.invoke('attr', 'data-id').then(dataId => {
cy.log('dataId : ', dataId);`enter code here`
});
谢谢,
解决方案
根据赛普拉斯文档,您可以使用cy.invoke
调用 jQuery 方法。所以,就像在 jQuery 中一样,你会这样做
$('[data-nemo=token]').data('id');
在赛普拉斯是
cy.get('[data-nemo=token]').invoke('data', 'id');
如果您想使用该值,您可以使用.then
或创建别名,.as
并稍后在测试中引用该别名:
cy.get('[data-nemo=token]')
.invoke('data', 'id')
.then(dataId => cy.log('dataId : ', dataId));
或者
cy.get('[data-nemo=token]')
.invoke('data', 'id')
.as('dataId');
cy.get('@dataId')
.then(dataId => cy.log('dataId : ', dataId));
推荐阅读
- ios - Xcode 10 不象征崩溃日志
- javascript - 在现有状态转换期间无法更新,另外函数作为布尔值传递,我不知道为什么
- gitlab - lftp 在 gitlab-ci 中运行失败,返回 shell not found
- hyperledger-fabric - 在 Fabric 中,链码版本控制如何在内部发生?
- elasticsearch - 如何在 Golang 中使用 Olivere 将数据插入 Elasticsearch
- c# - 如何修复错误“UpdateCommand 已影响 1 个预期条目中的 0 个。”?
- node.js - 如何在“真实世界”时间内每 n 毫秒准确地调用一个函数?
- java - 为什么 Switch case 在正常课堂上不起作用?
- node.js - 如何在nodejs中使用sharp调整图像大小然后使用multer上传
- jquery - 我需要获取第一个输入的值,然后添加 +1,然后将总和放在文本字段中