最新消息:雨落星辰是一个专注网站SEO优化、网站SEO诊断、搜索引擎研究、网络营销推广、网站策划运营及站长类的自媒体原创博客

javascript - Error: Invalid Chai property: toBe. Did you mean "to"? - Stack Overflow

programmeradmin1浏览0评论

I am trying to check that an element is present in an angular website. I am using protractor 5.4.0.

In the header of the my_steps.js file I have this:

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

The code that I am using to assert that the dropdown is present is:

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

And the output of the protractor protractor.conf.js mand is:

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"?

What am I doing wrong?

Thanks in advance.

I am trying to check that an element is present in an angular website. I am using protractor 5.4.0.

In the header of the my_steps.js file I have this:

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

The code that I am using to assert that the dropdown is present is:

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

And the output of the protractor protractor.conf.js mand is:

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"?

What am I doing wrong?

Thanks in advance.

Share Improve this question asked Aug 29, 2018 at 12:47 Alfredo Bazo LopezAlfredo Bazo Lopez 3431 gold badge4 silver badges12 bronze badges
Add a ment  | 

2 Answers 2

Reset to default 2

As you are using the 'chai-as-promised' plug-in that extends Chai with a fluent language for asserting facts about promises. You do have to adjust the assertions slightly. The below page gives good examples. Chai as promised page with explanations

For your issue you will need to change:

.isPresent()).toBe(true);

to:

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

Therefore your assertion should look like this:

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

Also note I have not seen the use of .equals only .equal

isPresent() returns a promise

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

发布评论

评论列表(0)

  1. 暂无评论