量角器期望直接到具有特定URL的页面

时间:2017-12-14 22:06:00

标签: jasmine protractor

我的页面上有一个按钮,我想用Protractor编写一个e2e测试。我想要实现的是,当点击按钮时,页面更改为http://localhost:8100/#/booking。我该如何实现呢?

describe('booking function', function() {
  it('should go to booking page', function() {
    broswer.get(localHostCruises);
    element(by.css('.button.button-stable.button-block')).click();
    //sudo code
    expect(page change to "http://localhost:8100/#/book" );
  })
})

2 个答案:

答案 0 :(得分:1)

您需要使用browser.getCurrentUrl()方法,如下所示:

element(by.css('.button.button-stable.button-block')).click().then(function () {
    expect(browser.getCurrentUrl()).toEqual("http://localhost:8100/#/book");
})

答案 1 :(得分:1)

您可以使用以下代码实现此目的。

   let targetLocation = 'your/target/location';

    browser.get('localHostCruises'); // Login page.
    element(by.css('.button.button-stable.button-block')).click(); // click on button.
    browser.setLocation(targetLocation);

    // If Login takes some time, so wait until it's done.
    browser.wait(() => {
        return browser.getCurrentUrl().then((url) => {
            let isMatch = url.match(targetLocation);

            if (isMatch) {
                page = new Page; // I assume you writing test cases in page object.
            } else {
                browser.setLocation(targetLocation);
            }

            return isMatch;
        });
    }, 2000, 'Should throw an error message.');