Javascript 如何在量角器端到端测试中等待事件处理?
我有非常简单的AngularJs 1.4.8前端: 填写表格并按下“确定”按钮后,新人员将添加到表格中 表单位于Javascript 如何在量角器端到端测试中等待事件处理?,javascript,angularjs,protractor,e2e-testing,Javascript,Angularjs,Protractor,E2e Testing,我有非常简单的AngularJs 1.4.8前端: 填写表格并按下“确定”按钮后,新人员将添加到表格中 表单位于addingPersonController中,表格位于AllPersonController中,两者都是主控制器下的子项 添加用户时(OK单击)会发生以下情况: 将向服务器发送POST请求以添加新人员 PersonadDevent从addingPersonController向主控制器发出$emit masterController向allpersoncontroller AllP
addingPersonController
中,表格位于AllPersonController
中,两者都是主控制器下的子项
添加用户时(OK单击)会发生以下情况:
将向服务器发送POST
请求以添加新人员
PersonadDevent
从addingPersonController
向主控制器发出$emit
masterController
向allpersoncontroller
AllPersonController
向服务器发送GET请求,以获取所有人员并更新表
我有一个量角器端到端测试来测试这个案例,问题是我不知道如何在检查断言之前等待整个过程完成,测试总是失败
当手动测试UI时,UI可以工作,我尝试使用以下工具等待量角器测试:
browser.wait(函数(){},超时)代码>
browser.sleep(毫秒)代码>
。单击()。然后()代码>
他们都没有成功。
有没有办法在检查断言之前等待这样一个过程完成?我的e2e测试也遇到了一些类似的问题。可以添加几个变通方法。取决于具体情况,主要是由于某种非响应超时(量角器/selenium和浏览器之间的同步丢失)。这就像是由于缺乏资源(GPU/VRAM
、RAM
或CPU
)导致的PC挂起。这会导致量角器的内置“等待角度功完成”失去跟踪。并在应该运行规范之前运行该规范
以下是我建议您尝试的列表:
browser.waitForAngular()代码>
与浏览器一起使用。wait()
这始终是最好的,因为它肯定适用于所有情况。即使是在有角度的环境之外。这件事的坏处是。。。打字时间很长
browser.wait(ExpectedConditions.texttobepresentElement($('someId'),“人名”),10000)代码>
编辑:输入错误,使答案更容易理解