我有一个要测试的webapp。我在使用protractorJS进行测试,点击不同的按钮。
某些按钮会触发POST请求,并且webapp正在等待该点的答案。答案可能需要30或40秒才能进入。如果我查看Chrome开发者工具,我会看到网络应用程序发送GET数据包以获得每2秒的状态。状态可以是waiting
,failed
或successful
。
我的问题现在是:
如何查看网络流量并过滤我知道successful
或failed
状态数据包进入的位置?
我找到了PhantomJS Network Monitoring。
基本上我想用量角器自动点击按钮后调用一个函数,这个函数应该查看每个正在进入的数据包,当它读取状态为successful
时应该停止。如果超过60或70秒,该功能应该超时。
答案 0 :(得分:0)
点击触发POST方法的按钮后,你应该每隔n秒开始一个循环监听另一个端点(GET)(你写的那个应用每2秒做一次)。
如果状态为waiting
- 继续,如果是failed
- 引发异常并且未通过测试,如果successful
- 通过测试或做任何你想做的事。
循环将阻止您超时。
你需要考虑是否需要保护自己免受无限循环的影响,例如:处理任务的工人停止工作。然后GET方法可能会返回waiting
,循环将无法完成,测试也不会停止。