javascript - Chai 断言似乎不适用于我的 JS 和 Webdriverio 框架/方法?
问题描述
目前我使用对象建模方法来复制页面并初始化 wdio 文件中的 chai 库,但是我的方法似乎失败了,有什么想法吗?
方法:
confirmSuccessfulSubmission() {
const successfulSubmissionHeader = $('#contact_reply h1');
console.log("TEST2: " + successfulSubmissionHeader);
console.log("TEST2: " + successfulSubmissionHeader.getText());
successfulSubmissionHeader.should.equal('Thank You for your Message!');
// successfulSubmissionHeader.waitForDisplayed(3000);
// expect(successfulSubmissionHeader).to.equal('Thank You for your Message!');
}
测试执行的输出:
2019-02-21T21:14:16.752Z INFO wdio-cli:Launcher: Run onPrepare hook
2019-02-21T21:14:20.660Z INFO wdio-local-runner: Start worker 0-0 with arg:
[0-0] TEST2: [object Object]
[0-0] TEST2: Thank You for your Message!
2019-02-21T21:14:30.098Z DEBUG wdio-local-runner: Runner 0-0 finished with exit code 1
2019-02-21T21:14:30.106Z INFO wdio-cli:Launcher: Run onComplete hook
感谢您的帮助
解决方案
基于这些行:
console.log("TEST2: " + successfulSubmissionHeader);
console.log("TEST2: " + successfulSubmissionHeader.getText());
返回此输出:
[0-0] TEST2: [object Object]
[0-0] TEST2: Thank You for your Message!
它看起来像在这一行:
successfulSubmissionHeader.should.equal('Thank You for your Message!');
您正在将对象successSubmissionHeader 与字符串“谢谢您的消息!”进行比较,我认为这不是您的本意。
利用
expect(successfulSubmissionHeader.getText()).to.equal('Thank You for your Message!');
而是将元素的文本与字符串进行比较。
推荐阅读
- javascript - 提取姓氏但不按字母顺序排序
- sorting - 按名称和年龄降序按列表排序
- javascript - 如何使用 javascript 关闭 html 网站?
- docker - IDE 如何索引 docker 容器中的库文件夹?
- gitlab - 为什么我的管道作业没有在 GitLab UI 中链接在一起
- php - 无法通过 PHP 邮件功能发送邮件
- python - 任何人都可以暗示一种方法来回忆我在 kivy 中的迭代标签吗?
- flutter - 如何创造安全区域的条件?
- c# - $http 将 AngularJs 放入 WebApi 调用,将对象的一个属性作为 null
- postgresql - PostgreSQL - 带有 where 子句的递归查询