gpt4 book ai didi

javascript - 如何在 Protractor 测试中使用 browser.getCurrentUrl()?

转载 作者:数据小太阳 更新时间:2023-10-29 05:49:49 25 4
gpt4 key购买 nike

我今天一直在为这几行 Protractor 代码苦苦挣扎:

element(by.linkText("People")).click();
browser.waitForAngular();
var url = browser.getCurrentUrl();
...

看起来 getCurrentUrl 放在 waitForAngular() 语句之后总是失败。

错误输出太模糊:

UnknownError: javascript error: document unloaded while waiting for result

那么,单击超链接并检查新 url 的正确方法是什么?


这是我的测试:

如果我在点击链接之前getCurrentUrl()

it('can visit people page', function () {
var url = browser.getCurrentUrl();
element(by.linkText("People")).click();
expect(true).toBe(true);
});

测试将通过。

如果我在点击链接后 getCurrentUrl()

it('can visit people page', function () {
var url = browser.getCurrentUrl();
element(by.linkText("People")).click();
expect(true).toBe(true);
url = browser.getCurrentUrl();
});

上面的 UnknownError 输出在 Protractor 中抛出错误。出了什么问题?

最佳答案

代替 waitForAngular() 调用,等待 URL 更改:

browser.wait(function() {
return browser.getCurrentUrl().then(function(url) {
return /index/.test(url);
});
}, 10000, "URL hasn't changed");

最初由@juliemr 在 UnknownError: javascript error: document unloaded while waiting for result 建议.

关于javascript - 如何在 Protractor 测试中使用 browser.getCurrentUrl()?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29129186/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com