Ste*_*all 9 selenium unit-testing selenium-rc
我正在尝试测试一段需要很长时间才能响应的代码的快乐路径,然后开始将文件写入响应输出流,这会在浏览器中提示下载对话框.
问题是这个过程在过去失败了,在这么长时间的工作之后抛出了异常.有没有一种方式在硒wait-for-download
或等效?
我可以投入Thread.sleep
,但这将是不准确的,并且不必要地减慢了测试运行速度.
我该怎么办?
我有同样的问题.我发明了一些东西来解决问题.tempt文件由Python创建,扩展名为".part".所以,如果我们还有temp,python可以等待10秒,然后再次检查文件是否已经下载.
while True:
if os.path.isfile('ts.csv.part'):
sleep(10)
elif os.path.isfile('ts.csv'):
break
else:
sleep(10)
driver.close()
Run Code Online (Sandbox Code Playgroud)
所以你有两个问题:
这两个问题都不能由Selenium直接解决(但是 - 2.0可能会有所帮助),但两者都是可解决的问题.第一个问题可以通过GUI自动化工具包解决,例如AutoIT.但它们也可以通过简单地在操作系统级别发送模拟输入键的自动按键来解决(适用于Firefox,在某些版本的Chrome和Safari上稍微有点难度).如果您使用的是Java,则可以使用Robot来执行此操作.其他语言有类似的工具包来做这样的事情.
第二个问题可能最好通过某种代理解决方案来解决.例如,如果您的浏览器配置为通过代理并且该代理具有API,则可以使用该API查询代理以询问网络活动何时结束.
这就是我们在http://browsermob.com所做的事情,这是我创立的一家创业公司,它使用Selenium进行负载测试.我们已经发布了一些代理代码作为开源代码,可从http://browsermob.com/tools获取.
但是仍然存在两个问题:
希望能帮助您识别各种选择.祝你好运!
归档时间: |
|
查看次数: |
11778 次 |
最近记录: |