cypress - .text() 方法返回 [object Object] 而不是 cypress 测试中的文本
问题描述
// should store text in "person" variable
const person = cy.get(' div.global-user-nav-menu > div > div > div > div.info-container > div.display-name').text()
我想将这些“人”变量用作函数参数
SpaceView.assignTo(person)
解决方案
赛普拉斯架构在承诺链上工作,你不能打破链并从中返回值......你必须链接返回值并对其采取行动。它不像 selenium getText() 方法那样工作:) 所以你的下面的语句不起作用。
const personName = cy.get(`div.global-user-nav-menu > div > div > div > div.info-container > div.display-name`).text();
SpaceView.assignTo(personName);
所以你必须如下构造,以使其工作
cy.get(`div.global-user-nav-menu > div > div > div > div.info-container > div.display-name`).then(element => {
SpaceView.assignTo(element.text());
});
(或者)
return cy.get(`div.global-user-nav-menu > div > div > div > div.info-container > div.display-name`).then(ele => {
return ele.text()
}).then(personName => {
SpaceView.assignTo(personName);
});
推荐阅读
- bitbucket - 致命:无法从远程存储库(位桶)读取
- graphql - aws-amplify [ts] 类型“{}”上不存在属性“订阅”。[2339]
- javascript - ChangeDetectionPush 策略上未显示初始计数器值
- javascript - 为什么函数在全局声明变量而不是 var 时有效
- c - 为什么 C 中的 asm 代码函数比 c 代码函数花费更多时间?
- node.js - 为什么每个核心运行一个 Node.js 进程?
- python - Matplotlib:保存图形时的白色边距和隐藏轴
- c - 为什么 setrlimit(RLIMIT_NPROC) 在以 root 身份运行时不起作用,但在以普通用户身份运行时却可以正常工作?
- python - 从 dict 和 list 制作 sys.path 的目录树
- scala - 玩!框架2.6!如果响应大小大于 50 字节,则 Gzip 过滤