2015-08-27 53 views
1

我已經執行測試E2E使用角錯誤在量角器(NoSuchElementError:沒有使用定位器找到的元素:by.model(「用戶名」))

it('should successfully login and create a session using valid credentials', function() { 
     browser.get('http://www.angularjs.org'); 
     browser.driver.manage().deleteAllCookies();  
     var username = element(by.model('username')); 
     var password = element(by.model('password')); 
     username.sendKeys('admin'); 
     password.sendKeys('password'); 

    }); 

下面的代碼,但我得到錯誤這樣

NoSuchElementError: No element found using locator: by.model("username")

如何解決這個問題。

回答

2

您確定您的元素存在於DOM中。如果是的話,那麼你應該等待角落定下來,然後嘗試檢查元素。如果元素仍在加載,則量角器將引發錯誤。包括ignoreSynchronization以確保量角器等角度穩定。您可以提供明確的等待時間元素可見或等待,直到它加載 -

it('should successfully login and create a session using valid credentials', function() { 
     browser.driver.manage().deleteAllCookies(); 
     browser.ignoreSynchronization = false; 
     browser.get('http://www.angularjs.org'); 
     var username = element(by.model('username')); 
     var password = element(by.model('password')); 
     browser.sleep(2000); 
     browser.wait(protractor.ExpectedConditions.visibilityOf(username), 20000); 
     username.sendKeys('admin'); 
     password.sendKeys('password'); 
}); 

希望這可以幫助。

+0

不錯的@Girish – DavidC

3

你應該建立你的量角器測試不是基於假設,而是藉助諸如element explorer和elementor之類的工具。

然後,您可以聲稱存在問題。

沒有這些工具,編寫量角器測試變得非常緩慢的過程。

鏈接到元素或回購:https://github.com/andresdominguez/elementor

相關問題