我開始測試一個Angular2項目,並且我想在某些測試中檢索瀏覽器的URL,以檢查重定向是否正確。有沒有辦法檢索量角器中當前的相對url?
問題是,我可以在API中看到檢索當前URL的唯一方法是webdriver.WebDriver.getCurrentUrl,但它返回絕對路徑。如果由於某種原因您將來更改測試端口或主機名,這可能會很痛苦。有沒有辦法像browser.get那樣只檢索相對URL?謝謝。
我開始測試一個Angular2項目,並且我想在某些測試中檢索瀏覽器的URL,以檢查重定向是否正確。有沒有辦法檢索量角器中當前的相對url?
問題是,我可以在API中看到檢索當前URL的唯一方法是webdriver.WebDriver.getCurrentUrl,但它返回絕對路徑。如果由於某種原因您將來更改測試端口或主機名,這可能會很痛苦。有沒有辦法像browser.get那樣只檢索相對URL?謝謝。
爲了保持簡單 - 爲了應對未來的變化主辦&端口,你可以做到這一點。
expect(browser.getCurrentUrl()).toContain("/some/path/resource");
這是更好的方法,謝謝! –
我不確定是否有相同的內置方法。
假設有一個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
你的意思是你想要得到的,例如,'問題/ 42695591/IS-有-A-方式對檢索最電流相對URL功能於量角器#42695591'從'http:// stackoverflow.com/questions/42695591/is-there-a-way-to-retrieve-the-current-relative-url-in-protractor#42695591'? – Andersson
是@安德森,那是我的問題! –
在我看來,沒有理由通過拼寫URL的額外工作。你應該在你的protractor.conf.js文件中指定'baseUrl:'localhost:8045'',然後使用'expect(browser.getCurrentUrl()).Be(browser.baseUrl +'/ test');'this應該讓你的測試可以在多種環境中使用。 – sonhu