我正在开发一个应用程序,我使用browser.get(' app url')加载页面,然后重新路由到某个不同的URL进行身份验证,提示输入凭据然后转到主页( app url),当页面完成身份验证测试用例开始运行时。问题是一些初始测试用例在等待Protractor与页面同步时出现此错误'错误:" angularJS可测试性和角度可测试性都未定义。这可能是因为这是一个非角度页面,或者因为您的测试涉及客户端导航,这会干扰Protractor的自举。'
我一直在关注git / stackoverflow / etc,但可以找到解决此问题的任何帮助。
答案 0 :(得分:0)
尝试这样的事情: -
1)导航到主页 2)页面将打开并重新路由到登录页面 3)您可以将目标URL(即登录页面URL)发送到函数以等待重定向。 4)重定向后设置同步= false 5)完成登录过程 6)诱导硒webdriver等待 7)设置同步=真
这是一个检查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);
};
答案 1 :(得分:0)
对我来说,缺少的是在beforeEach内的page.navigateTo(),添加它消除了问题-
import { AppPage } from './app.po';
beforeEach(async () => {
page = new AppPage();
page.navigateTo();
});