簡體   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