2016-01-29 39 views

回答

3

呀,測試不可見可蘇茨基。您應該可以使用isPresent(),這意味着在dom中,其中isDisplayed()意味着它實際上可見,我認爲這是您的問題。嘗試...

expect(element(CastModule.PersonXpath).isPresent()).toEqual(false); 

您可能還想將其分解爲方法並使用Expected Condition

+0

很酷,謝謝。例如,如果我檢查「x」分鐘後元素不再顯示,我需要使用什麼? – user3188198

0

我設法找到了一個解決方案,使用量角器庫。

var EC = protractor.ExpectedConditions;  browser.wait(EC.invisibilityOf(element(by.xpath(CastModule.PersonXpath))), 5000).then(function() { 
      if (EC.invisibilityOf(element(by.xpath(x.LanguagesXpath)))) { 
       console.log("Persons module is not present - as expected for this scenario"); 
      } else { 
       throw new Error("Element STILL present"); 
      } 
     }); 
    }); 
1

要檢查的知名度(如果isDisplayedisPresent不工作),只需使用:

if (!EC.invisibilityOf(ug.personXpath)) { 
    throw new Error("Partner logo is not displayed"); 
} 
1

的錯誤看起來並不像它與正在顯示的元素做。它看起來像是與頁面同步。試着忽略了同步,然後等待角以上的預計有:

browser.ignoreSynchronization = true; 
browser.waitForAngular(); 
expect(element(CastModule.PersonXpath).isDisplayed()).toEqual(false); 
-1

要使用元素的使用存在:

var elm = element(CastModule.PersonXpath); 
       elm.isPresent().then(function (present) { 
        if (present) { 
         element(CastModule.PersonXpath).then(function (labels) { 

         }); 

        } else { 
         console.log('Element did not found'); 

        }`enter code here` 
相關問題