gpt4 book ai didi

javascript - 错误 : Invalid Chai property: toBe. 您是说 "to"吗?

转载 作者:行者123 更新时间:2023-11-29 15:13:23 25 4
gpt4 key购买 nike

我正在尝试检查某个元素是否存在于 Angular 网站中。我正在使用 Protractor 5.4.0。

在 my_steps.js 文件的标题中我有这个:

global.expect = require('chai').expect
var chai = require('chai');
var chaiAsPromised = require('chai-as-promised');
chai.use(chaiAsPromised);

我用来断言下拉菜单存在的代码是:

Then(/^(.*) is present$/, function (dropdown,callback) {
expect(element(by.id(dropdown)).isPresent()).toBe(true);
callback();

并且 Protractor protractor.conf.js 命令的输出是:

When application opened # ../Features/step_definitions/my_steps.js:62
✖ Then templateSelection is present # ../Features/step_definitions/my_steps.js:70
Error: Invalid Chai property: toBe. Did you mean "to"?

我做错了什么?

提前致谢。

最佳答案

当您使用“chai-as-promised”插件时,该插件使用流利的语言扩展了 Chai,以断言有关 promise 的事实。您必须稍微调整断言。下面的页面给出了很好的例子。 Chai as promised page with explanations

对于您的问题,您需要更改:

.isPresent()).toBe(true);

到:

.isPresent()).to.eventually.equal(true);

因此你的断言应该是这样的:

expect(element(by.id(dropdown)).isPresent()).to.eventually.equal(true);

另请注意,我还没有看到 .equals 的用法,只有 .equal

关于javascript - 错误 : Invalid Chai property: toBe. 您是说 "to"吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52077874/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com