在以前的問題,我已經看到了一個很好的方式,以等待URL改變是使用:Protractor-通用等待URL改變
browser.wait(function() {
return browser.getCurrentUrl().then(function(url) {
return /myURL/.test(url);
});
}, 10000, "url has not changed");`
但我想有一個方法,我可以將myURL作爲變量傳遞(以防我需要將其用於其他站點)並且不起作用。
我在我的頁面對象文件嘗試這樣的:
this.waitUrl = function(myUrl) {
browser.wait(function(myUrl) {
return browser.getCurrentUrl().then(function(url, myUrl) {
return myUrl.test(url);
});
}, 10000, "url has not changed");
};
任何想法,如果這甚至有可能,以及如何如果這樣做呢?
嗨,謝謝你的回覆。 都嘗試並得到這個: '消息: 類型錯誤:myUrl.test不是一個函數 堆棧跟蹤: 類型錯誤:myUrl.test不是一個函數 at' –
@JamesBe啊,肯定的是,你正在使用正則表達式匹配,所以你的url傳遞到預期的條件必須是一個正則表達式。更新了答案。 – alecxe
@JamesBe你也可以傳遞一個字符串,並通過'new Regexp(myUrl)'創建一個正則表達式對象。 – alecxe