解决"Angular Protractor 失败: 从第三方登录重定向后脚本超时"的问题,你可以尝试以下几种方法:
browser.sleep()方法来增加等待时间,确保页面加载完全。例如:it('should login successfully', function() {
// 登录操作
// ...
// 等待重定向完成
browser.sleep(5000); // 5秒等待时间
});
it('should login successfully', function() {
// 打开新的浏览器窗口
browser.executeScript('window.open()');
browser.getAllWindowHandles().then(function(handles) {
var secondWindowHandle = handles[1];
// 切换到新的窗口
browser.switchTo().window(secondWindowHandle);
// 导航到登录页面
browser.get('https://example.com/login');
// 手动登录完成后,切换回原来的窗口
browser.switchTo().window(handles[0]);
});
});
browser.ignoreSynchronization方法来忽略页面的同步状态,这样 Protractor 将不会等待页面加载完成。例如:it('should login successfully', function() {
// 停止等待 Angular
browser.ignoreSynchronization = true;
// 登录操作
// ...
// 恢复等待 Angular
browser.ignoreSynchronization = false;
});
这些方法都可以尝试解决"Angular Protractor 失败: 从第三方登录重定向后脚本超时"的问题。根据你的具体情况,选择适合你的方法进行尝试。