有没有办法在 Protractor 中检索当前的亲戚 url?

Is there a way to retrieve the current relative url in Protractor?

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

问题是我在 API 中看到的唯一检索当前 URL 的方法是 webdriver.WebDriver.getCurrentUrl, but it returns the absolute path. This can be a pain if for some reason you change the testing port or hostname in the future. Is there any way to retrieve only the relative URL like you can do with browser.get?谢谢

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

假设有一个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

为简单起见 - 要处理将来对主机和端口的更改,您可以这样做。

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