2015-05-07 25 views
0

鉴于:量角器测试这个HTML和JS代码。能够做到browser.get并点击链接来成功登录页面。 “登录”表单需要从测试中正确输入的用户名和密码,但我无法单击该按钮。量角器click()没有按预期工作,我做错了什么?

<button type="submit" class="button positive">Log In</button> 

element.all(by.buttonText('Log In')).then(function (item) { 
    item.forEach(function (final) { 
     final.submit(); 
     final.click();            
    }); 

如果我把一个破发点上的foreach语句我看到“项目”的确与1。然后,我在突破的长度“的阵列final.submit();”我看到这个..

enter image description here

我甚至尝试提交表单,而不是上的按钮患难见真情的...

var af = element.all(by.name('loginForm')); 
     af.submit(); 
    }); 

结果都是一样的...

回答

0

的这个问题的根本原因是表单提交的内容是错误的。这只能通过在表单提交上查看网络级别的响应才能看到,实质上,点击正在工作,这只是该页面什么都不做。登录表单的开发人员没有在应用程序中公开任何登录错误。

所以我研究了如何使用量角器得到http响应代码,并且它不被支持,因为Selenium团队已经决定它不是该计划的一部分。因此,从量角器的角度来看,唯一的选择是放入正确的期望陈述,并且如果测试不“到达”则不能通过测试。

我也能够确定上面的屏幕截图是Seleneium WebElement类的结构。因为Selenium只是异步的,所以上面看到的只是方法,因为它是承诺返回属性和/或函数调用的结果。

相关问题