作为一个与开发人员几乎没有互动的e2e测试人员,我如何找出导致angularJS网站挂起的原因?如何调试网站并为他们提供有问题的解决方案?Chrome开发人员是否提供了这方面的答案?
我目前的解决方案是使用下面两个代码片段中的任何一个,但从我读过的内容来看,这并不理想.
browser.sleep();
browser.ignoreSynchronization = true;
Run Code Online (Sandbox Code Playgroud)
我在下面遇到类似的问题:
是的,最常见的原因是当应用程序连续轮询$ timeout或$ http时,Protractor将无限期地等待并超时.但这也可能发生在App占用时间超过11秒的情况下
您可能有更多运气暂时关闭同步:
我正在尝试UI测试一个没有使用过角度插件的bootstrap模态,它是一个vanilla bootstrap模式.我收到此错误:
失败:超时等待异步Angular任务在11秒后完成.这可能是因为当前页面不是Angular应用程序.有关更多详细信息,请参阅常见问题解答:https: //github.com/angular/protractor/blob/master/docs/timeouts.md#waiting-for-angular 在等待带定位符的元素时 - 定位器:By(css选择器,h2 .modal标题)✗
有没有针对此的解决方法或是不可能用量角器测试香草自举模式?
这是我的全面测试:
import { browser, element, by, By, $, $$, ExpectedConditions } from 'protractor';
import { E2EUtilities } from './utilities.spec'
describe('Result Details', function () {
it(`Shows result details modal when clicking on a result`, function () {
E2EUtilities.navigateToResultsPage();
element(by.id('result0')).isPresent().then(function (result) {
if (result) {
element(by.id('result0')).click();
browser.sleep(3000);
expect(element(by.css('h2.modal-title')).isPresent()).toBe(true);
} else {
expect(element(by.css('h2.modal-title')).isPresent()).toBe(false);
}
});
});
});
Run Code Online (Sandbox Code Playgroud)
请注意我已经E2EUtilities.navigateToResultsPage();隐藏了,因为我知道问题不在于因为代码通过所有这些并且进一步可以从眼睛看到.