2016-11-10 53 views
0

我正在測試一個單頁的應用程序,導航頁面顯示,當用戶點擊相應的圖標。如果頁面已打開,我想在點擊之前查看並查看。在頁面上是公司名稱標籤。當導航頁面顯示時,它實際上只能用肉眼看到。有沒有一種「黑客」的方式來檢查項目的知名度?

我遇到的問題是.isDisplayed()正在返回true當我使用它。我也使用EC.visibilityOf(),它也返回true。下面的作品,我只是不滿意,並想知道是否有更好的方法。

navigationOpenClick() { 
    if (this.EC.elementToBeSelected(this.navPage.companyName)) { 
     this.navIcon.click(); 
    } 
} 
+0

有幾種方法,使元素不可見。你可以顯示禁用的元素?基本上你需要調查爲什麼你的'expect($('。myclass')。isDisplayed())。toBeTruthy();'返回真理。例如http://www.protractortest.org/#/api?view=webdriver.WebElement.prototype.is顯示應該工作 – bhantol

+0

_「是否有一種」黑客「的方式來檢查項目的可見性?」_ 是的。 - 使用該死的DOM。 –

回答

0

我的大腦有一些脹氣,忘記了.isDisplayed()返回一個承諾。一旦我解決了這個承諾,.isDisplayed()工作就像它應該。

我不是「哈克」工作代碼如下:

navigationOpenClick() { 
    this.navPage.companyName.isDisplayed().then((displayed) => { 
     if (!displayed) { 
      this.navIcon.click(); 
     }; 
    }); 
} 
相關問題