如何将当前URL保存为字符串?我想在其他地方导航,然后导航回保存的URL。我不想为此使用browser.navigate().back()
。
当我举例时
var urlString;
browser.getCurrentUrl().then(function(url) {
urlString = url;
});
....redirecting...navigating...
browser.waitForAngular();
browser.get(urlString); // get back to beginning URL
它失败了,因为承诺尚未填满且urlString
为undefined
在不破坏测试流程的情况下是否有可能做到这一点?
答案 0 :(得分:1)
试试这个:
describe('my test', function() {
var urlString;
beforeEach(function() {
browser.getCurrentUrl().then(function(url) {
urlString = url;
});
});
it('should go and come back', function() {
// Here the value has already been resolved.
....redirecting...navigating...
browser.waitForAngular();
browser.get(urlString); // get back to beginning URL
});
})

...或者您可以将所有测试都放在then
的{{1}}
答案 1 :(得分:0)
您可以导航到Promise本身中的新URL:
browser.getCurrentUrl().then(function(cUrl){
browser.get(cUrl.replace('a','b'));
})