Protractor returns 成功,即使 expect 失败

Protractor returns success even when expect fails

我是量角器的新手,我正在尝试用它和黄瓜安装一个项目。

场景如下

  Scenario: User login
    Given the page is open
    And email is set with value n@n.com
    And password is set with value 123
    When the user click on login button
    Then home page is displayed

步骤定义已实现,login_page.js如下

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

var LoginPage = function() {

    this.get = function() {
        browser.get('https://aaa/login');
    };

    this.setEmail = function(value) {
        element(by.id('login-email')).sendKeys(value);
    };

    this.setPassword = function(value) {
        element(by.id('login-password')).sendKeys(value);
    };

    this.clickAccede = function() {
        element(by.id('login-submit')).click()
    };

    this.pageIsLoaded = function() {
        browser.waitForAngular();
        expect(browser.getTitle()).to.be.eventually.equals('page title');
    };
};

然后当我 运行 我收到以下结果的场景

  Scenario: User login
  ✔ Given the page is open
  ✔ And email is set with value n@n.com
  ✔ And password is set with value 123
  ✔ When the user click on login button
  ✔ Then home page is displayed

1 scenario (1 passed)
5 steps (5 passed)
0m00.005s
[16:23:50] E/launcher - expected 'aaa' to equal 'page title'
[16:23:50] E/launcher - AssertionError: expected 'aaa' to equal 'page title'
[16:23:50] E/launcher - Process exited with error code 199

如您所见,断言失败但结果 return 成功。 我错过了什么?

@Bharath 我的步骤定义

this.Then(/^shipment page is displayed$/, function (callback) {
    expect(browser.getTitle()).to.be.eventually.equals('page title');
    callback();
});
    this.Then(/^shipment page is displayed$/, function () { return expect(browser.getTitle().then((value)=>{
console.log(value);return value;
})).to.be.eventually.equals('page title'); });

使用这个并检查