我有简单的表格,有2个输入 - 用户名和密码以及登录按钮。 一切都很完美,但是在Mac上的Chrome中填充第一个输入后,量角器测试就会挂起(它适用于Mac上的Firefox)。 什么是奇怪的有时它填充他们两个,但挂在点击按钮。 超时后,我得到超时等待Protractor在11秒后与页面同步。'
它的原因是什么?
这是HTML:
<input type="text"
name="username"
ng-enter="ctrl.login(ctrl.username, ctrl.password)"
ng-model="ctrl.username">
<input type="password"
name="password"
ng-enter="ctrl.login(ctrl.username, ctrl.password)"
ng-model="ctrl.password">
<a href="" class="btn btn-login btn-danger btn-float no-waves"
ng-click="ctrl.login(ctrl.username, ctrl.password)">
</a>
量角器测试:
describe('basic', function () {
it('should login to application', function () {
browser.get('lib/iqsec/ui/src/index.html#/?redirect_url=http://localhost:3000/dist/index.html');
browser.sleep(1000);
expect(browser.getTitle()).toBe('Logowanie');
element(by.css('input[name="username"]')).sendKeys('user');
element(by.css('input[name="password"]')).sendKeys('user');
element(by.css('a.btn-login')).click();
browser.sleep(1000);
expect(browser.getTitle()).toBe('IMPAQ Alerter');
});
});
答案 0 :(得分:0)
ng-app指令位于DOM中的哪个位置?默认情况下,量角器认为它是在body元素上。如果没有,你应该使用这样的参数配置:
rootElement: 'html',
为了提供正确的路径。还尝试增加超时:
allScriptsTimeout: 50000,
答案 1 :(得分:0)
此问题与最新版Google Chrome有关。我也有同样的问题。我找到的简单解决方案是使用旧版Google Chrome(例如,43.0.2357.134),直到错误得到修复。在Mac上,您可以同时安装多个版本。