2015-05-07 18 views
18

Yüklenici 2.0'da, bir öğe görüntüleniyorsa expect() numaralı telefonu denetliyorum. Ben sahte bekliyoruz, ama garip şey aşağıdaki hatayı alıyorum olmasıdır:Yüklenici, isDisplayed() Kullanılınca NoSuchElementError: Konumlandırıcı kullanılarak hiçbir öğe bulunamadı

NoSuchElementError: No element found using locator: By.id("userForm")

Kodum: Ben elemanı (sayfadaki değil artık çünkü o hata alıyorum anlıyoruz

describe('closeModal', function() { 
    it('should close the alert that appears after registration.', function(){ 
     element(by.id('closeAlertModalButton')).click(); 
     expect(element(by.id('userForm')).isDisplayed()).toBeFalsy(); 
    }); 
}); 

onaylamak istediğim şeydir, fakat yanlış ve yanlış olmamalı mıyım?

+0

Daha iyisi isElementPresent veya isPresent kullanmalısınız - hata var WebDriver mantığının bir parçasıdır –

cevap

28

isDisplayed()isElementPresent kullanmak gerekir, ancak, bir element DOM veya olmasın mevcut olup olmadığını kontrol kullanmak gerekir isElementPresent() veya isPresent():

expect(browser.isElementPresent(element(by.id('userForm')))).toBe(false); 
expect(element(by.id('userForm')).isPresent()).toBe(false); 

Ayrıca bakınız:

+2

Sen bir "iletki melek!" Cevaplarınızdan çok şey öğrendim! teşekkür ederim! @alecxe –

+1

@IdanE ve sorularınızdan çok şey öğrendim! Teşekkür ederim! – alecxe

+0

Durumunda yaparsam. çalışmıyor. ex. 'if (browser.isElementPresent (element (by.id ('userForm')))' –

2

Bu hata, WebDriver davranışının bir parçasıdır. Böyle durumlar için bir eleman görünür olup olmadığını daha iyi kontrol ediyorum isPresent veya

İlgili konular