量角器检查位置路径

时间:2015-12-10 16:59:05

标签: javascript angularjs selenium automation protractor

是否可以检查位置路径?我是AngularJS的新手,我正在学习一本描述ngScenario的书。这个软件包已被弃用,我试图将描述的测试更新为量角器。

E.g。

expect(browser().location().path()).toEqual('/books'); 

变为:

expect(browser.getCurrentUrl()).toEqual('http://localhost:8080/#/books');

但我想避免http://localhost:8080/

2 个答案:

答案 0 :(得分:7)

只需使用 jasmine matchers 的强大功能:

expect(browser.getCurrentUrl()).toMatch(/\/#\/books$/);  // /#/books at the end of url
expect(browser.getCurrentUrl()).toEndWith("/#/books");
expect(browser.getCurrentUrl()).toContain("/#/books");

其中toEndWith()来自一个很棒的jasmine-matchers库。

或者,如果您想要完全匹配,请获取基本网址:

expect(browser.getCurrentUrl()).toEqual(browser.baseUrl + "/#/books");

答案 1 :(得分:0)

getCurrentUrl()函数不返回整个baseUrl(http://localhost:8080/#/books)。 所以,你可以尝试一下:

browser.driver.getCurrentUrl().then(function(url) {
    return /#\/books/.test(url);
});

“test”是正则表达式模块的一个功能。在上面的示例中,文本“#/ books”正在与当前网址进行比较