[英]Angular 2 get current Url in protractor e2e test
在我的一項 e2e 測試中,我需要獲取當前 url 並暫停測試的執行,直到我得到它。 這是我當前的代碼:
let publicUrl;
browser.wait(()=>{
browser.getCurrentUrl().then((url)=>{
publicUrl = url;
})
});
console.log(publicUrl);
但是publicUrl
始終未定義,因為在設置值之前執行了console.log()
行。 我嘗試了browser.wait()
和browser.getCurrentUrl()
多種組合,但沒有成功:
let publicUrl;
browser.wait(()=>{
return browser.getCurrentUrl()
}).then((url) => {
publicUrl = url;
});
console.log(publicUrl);
我很確定這一定是可能的,所以不確定我做錯了什么。
GoLGo13是對的。 我想再添加一行,如果您知道預期的 url,那么您可以等待特定的 url。
首先在公共網址中定義您期望的網址;
let publicUrl=yourExpectedUrl;
browser.wait(()=>{
browser.getCurrentUrl().then((url)=>{
return url==publicUrl;
})
});
const test = await browser.driver.getCurrentUrl();
如果您需要添加一個 url 來檢查某些資產 url 等,這非常有效。
參考: https : //github.com/angular/protractor/issues/5154#issuecomment-667656260
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.