繁体   English   中英

量角器测试引导模态 - 而非角度页面 - 超时

[英]Protractor test a bootstrap modal - not angular page - timeout

我正在尝试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);
             }
          });
       });
    });

请注意我已离开E2EUtilities.navigateToResultsPage(); 隐藏,因为我知道问题不是那个,因为代码通过所有这些,并进一步,从眼睛可以看出。

您可能有更多运气暂时关闭同步

element(by.id('result0')).isPresent().then(function (result) {
  if (result) {
    browser.ignoreSynchronization = true;

    element(by.id('result0')).click();
    browser.sleep(3000);  // TODO: use ExpectedConditions?
    expect(element(by.css('h2.modal-title')).isPresent()).toBe(true);
  } else {
    expect(element(by.css('h2.modal-title')).isPresent()).toBe(false);
  }
});

browser.ignoreSynchronization = false;

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM