是否可以检查位置路径?我是AngularJS的新手,我正在学习一本描述ngScenario的书。这个软件包已被弃用,我试图将描述的测试更新为量角器。
E.g。
expect(browser().location().path()).toEqual('/books');
变为:
expect(browser.getCurrentUrl()).toEqual('http://localhost:8080/#/books');
但我想避免http://localhost:8080/
。
答案 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”正在与当前网址进行比较