Транспортир, проверяя, равен ли текущий URL-адрес строковому URL - PullRequest
0 голосов
/ 01 июня 2018

Я пытаюсь проверить, изменится ли текущий URL страницы после нажатия кнопки «Отправить» на правильный URL.Я пытался сделать это многими способами, которые я нашел в сети, но ничего не получалось.Иногда проблема в том, что невозможно сделать равенство для «объекта url» и «строки», иногда что-то еще.Одна вещь, безусловно, ошибка, когда я запускаю тест.Вы можете мне помочь?Спасибо.

Вот мой stepdefinition.js

expect(browser.getCurrentUrl()).to.equal("https://myurl.com/eng/homepage.html");

Здесь моя ошибка:

E/launcher - expected { Object (flow_, stack_, ...) } to equal 'https://myurl.com/eng/homepage.html'

[15:34:28] E / launcher - AssertionError: ожидается{Object (flow_, stack_, ...)} равно 'https://myurl.com/eng/homepage.html'

Ответы [ 2 ]

0 голосов
/ 01 июня 2018

browser.getCurrentUrl () возвращает обещание.Вам нужно разрешить его, используя .then (), как показано ниже:

Вариант 1) Используйте только chai

// protractor conf.js
onPrepare: function() {
    var chai = require('chai'),
        chaiAsPromised = require('chai-as-promised');

    chai.use(chaiAsPromised);
    global.expect = chai.expect;
    // make `expect`as global, so you can use it anywhere is your code
}

browser.getCurrentUrl().then(function(currentUrl){
  expect(currentUrl).to.equal("https://myurl.com/eng/homepage.html");
})

Вариант 2) Используйте chai и chai-as-promised вместе:

// protractor conf.js
onPrepare: function() {
    var chai = require('chai'),
        chaiAsPromised = require('chai-as-promised');

    chai.use(chaiAsPromised);
    global.expect = chai.expect;
    // make `expect`as global, so you can use it anywhere is your code
}

expect(browser.getCurrentUrl()).to.eventually
      .equal("https://myurl.com/eng/homepage.html");
0 голосов
/ 01 июня 2018

Попробуйте сделать:

expect(browser.getCurrentUrl()).toEqual("https://myurl.com/eng/homepage.html");
...