Chai 断言似乎不能在我的 JS 和 Webdriverio 框架/方法中工作?

Chai assertions doesnt seems to be working within my JS and Webdriverio Framework / method?

目前我正在使用对象建模方法来复制页面并初始化 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!');

您正在将对象 successfulSubmissionHeader 与字符串 'Thank You for your Message!' 进行比较,我认为这不是您的本意。

使用

expect(successfulSubmissionHeader.getText()).to.equal('Thank You for your Message!');

改为将元素的文本与字符串进行比较。