在量角器.js中运行的异步测试是否有默认超时
Is there a default time-out for asynchronous tests running in protractor.js
我有一个角度的应用程序。我已经为登录页面编写了一些测试用例,检查了正常的登录场景。
describe('Login screen tests', function () {
var ptor = protractor.getInstance();
beforeEach(function(){
ptor.get('http://url:3000/login/#/');
});
it('Blank Username & Password test', function() {
ptor.findElement(protractor.By.id("submit")).click();
var message = ptor.findElement(protractor.By.repeater('message in messages'));
message.then(function(message){
expect(message.getText()).toContain('Username or Password can''t be blank');
});
});
it ('Blank Password test', function(){
....
});
it ('Invalid username test', function(){
....
});
...... //Similarly more test cases folow for the login screen.
});
测试按预期正常运行。
问题:测试非常慢,大约需要 1.5 分钟才能完成。如果我通过 java 使用硒运行相同的测试。它只需要大约2-3秒,这应该是理想的。我想使用量角器,因为该应用程序完全位于角度之上。
我猜每次测试后可能会有 300 毫秒的默认超时。 这使得测试变慢。因此,即使检查完成,它也会等待超时。
是否有一些轮询机制,以便如果测试在超时之前完成,它可以向前移动。我尝试像茉莉花一样使用done()
,但done()
给出错误,我询问知道done()
内部是用protractor
.
缓慢有可能与量角器每次等待与每个页面同步有关。您可以使用以下方法禁用该功能
ptor.ignoreSynchronization = true;
请记住,该选项旨在临时传递给非角度页面。但如果速度对你来说更重要,我想你可以接受它。
注意 ptor
是旧语法,您应该升级并开始使用browser
,如下所示:
browser.ignoreSynchronization = true;
如果您开始遇到不稳定的测试,我建议您返回到具有随机问题的特定页面上的默认false
值。
相关文章:
- 测试索引值是否等于某个数字的倍数
- 测试mongo脚本中是否存在参数
- 测试对象是否相等和/或对象是否有更多的关键点,但仍然与共同的关键点相等
- node.js测试事件是否是在不使用超时的情况下使用sinon.js发出的
- 如何测试主干视图是否正确侦听特定事件
- 2端测试是否足够
- javascript测试是否存在两个标志中的任何一个
- 我如何为列出的选项卡元素编写一个Protractor测试,它会检查它是否's是否处于活动状态
- 如何测试选择器是否存在于CasperJS中
- 是否可以测试javascript函数是否是构造函数
- 如何测试变量是否只有字母而不是abc1.关于验证电子邮件
- jQuery-有没有一种方法可以测试函数是否异步
- 如何测试HTML元素的祖先是否有CSS类
- 如何测试jQuery和某些其他脚本是否已加载
- Javascript 测试是否设置了变量
- 是否可以模拟 qUnit 测试的窗口位置对象
- 测试JavaScript是否符合异常变量名
- 测试两个版本的 json 架构是否向后兼容
- 如何测试指令是否发出事件
- 测试两个变量是否包含一些数据 JavaScript