有没有办法在Protractor中检索当前的相对URL?

时间:2017-03-09 12:37:14

标签: selenium-webdriver protractor e2e-testing

我开始测试Angular2项目,我想在某些测试中检索浏览器的URL,以检查重定向是否正确。

问题是,我在API中可以看到的唯一检索当前URL的方法是webdriver.WebDriver.getCurrentUrl,但它返回绝对路径。如果由于某种原因您将来更改测试端口或主机名,这可能会很痛苦。有没有办法像browser.get一样只检索相对URL?感谢。

2 个答案:

答案 0 :(得分:4)

为了简单起见 - 处理将来对主持人的更改port,你可以这样做。

expect(browser.getCurrentUrl()).toContain("/some/path/resource");

答案 1 :(得分:0)

我不确定是否有相同的内置方法。

假设有一个URL,例如

http://example.com/some/path/resource 

您也可以使用以下代码

browser.executeScript("return '/' + window.location.href.split('/').slice(3).join('/');")

得到

/some/path/resource

browser.executeScript("return window.location.href.split('/')[window.location.href.split('/').length -1];")

获取

resource