我正在开发一个应用程序,在这个应用程序中,我使用browser.get('app url')加载一个页面,然后它重新路由到一些不同的URL进行身份验证,提示输入凭证,然后转到主页( app url),同时页面完成身份验证测试用例开始运行。问题是,一些初始测试用例在等待Protractor与页面同步时出现了错误:“angularJS可测试性和角可测性都未定义,这可能是因为这是一个非角页,或者是因为您的测试涉及客户端导航,这可能会干扰Protractor的引导。”
我一直在查找git/stackoverflow/等等,但是可以找到解决这个问题的任何帮助。
发布于 2018-05-11 14:56:52
这里有两次试验
谢谢
发布于 2018-05-14 04:47:15
试试这样的东西:-
1)导航到主页2)页面将打开并重路由到登录页3)您可以将目标url (即登录页URL)发送到函数以等待重定向。4)一旦重定向设置同步= false 5)完整的登录过程6)诱导selenium等待7)设置同步= true
下面是一个示例函数,用于检查URL是否已更改。函数中内置了一个等待,它将帮助同步调用。
waitForURLToChange(target, time) {
console.log(target);
let timeout = time
return browser.driver.wait(function () {
return browser.driver.getCurrentUrl().then(function (actualUrl) {
console.log(actualUrl.indexOf(target));
return actualUrl.indexOf(target) > -1;
});
}, timeout);};
发布于 2020-11-05 17:29:18
对我来说,缺少的东西是page.navigateTo()在beforeEach里面,加上它消除了问题-
import { AppPage } from './app.po';
beforeEach(async () => {
page = new AppPage();
page.navigateTo();
});https://stackoverflow.com/questions/50291409
复制相似问题