Javascript 量角器中出错(NoSuchElementError:未使用定位器找到元素:by.model(";username";)
我已经使用angular对以下代码执行了e2e测试Javascript 量角器中出错(NoSuchElementError:未使用定位器找到元素:by.model(";username";),javascript,angularjs,automation,jasmine,protractor,Javascript,Angularjs,Automation,Jasmine,Protractor,我已经使用angular对以下代码执行了e2e测试 it('should successfully login and create a session using valid credentials', function() { browser.get('http://www.angularjs.org'); browser.driver.manage().deleteAllCookies(); var username = eleme
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:使用locator:by.model(“用户名”)未找到任何元素
如何解决此问题。是否确定DOM中存在元素。如果是,则应等待angular稳定下来,然后尝试检查元素。如果元素仍在加载,则量角器将抛出错误。包括
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');
});
希望这能有所帮助。您应该在element explorer和elementor等工具的帮助下构建量角器测试,而不是基于假设 然后,你可以说,有一个问题 没有这些工具,编写量角器测试变得非常缓慢 链接至elementor回购: