我使用Sahi为我们的网站提供了一套测试。这些测试是自动化的,并提供给我们的Jenkins构建系统。
测试在专用PC上运行,不再使用。它有Sahi加上安装的所有浏览器。 Jenkins服务器远程调用测试PC来运行测试。由于运行所有测试所需的时间,这个功能测试套件可以在一夜之间运行。
几个月来,这个系统都运转良好。但几周前突然有一天我来到办公室,发现所有的测试都失败了。从那时起他们就没有工作过据我所知,没有任何重大变化(我们显然保持浏览器版本是最新的,但我不认为失败与任何更新共同出现; Sahi本身自去年以来没有更新)
我已经做了一些工作来找出发生了什么:
Sahi使用代理作为其浏览器控制魔法的一部分,我相信这个代理是问题的根源。但我无法弄清楚如何或为什么。
当Sahi控制下的浏览器加载要测试的页面时,似乎没有HTTP请求成功。显示原始页面内容(我认为因为它已缓存),但没有样式,图形或脚本(除了已经由浏览器缓存的那些)。此外,Sahi脚本然后尝试单击按钮以继续测试,但浏览器无法加载任何内容。 Sahi等了一会儿,但最终脚本超时了,测试失败了。
我可以在手动运行Sahi时在受影响的PC上复制此功能。它发生在任何网站和所有浏览器中。然而,它不会发生在我自己的台式机上,它安装了所有相关软件的相同版本。当然,它在过去的测试框中运行良好。
我尝试卸载Sahi和浏览器,并从头开始重新安装。这没有任何区别。 (我很欣赏卸载通常不会删除所有内容,所以也许我可以在这里做更多的事情吗?)
我真的希望有人可以帮助我,因为我不确定还有什么可以尝试。
非常感谢提前。
答案 0 :(得分:1)
由于它发生在所有浏览器上,看起来防火墙设置可能会阻止访问端口9999.关闭防火墙并检查。如果你在Sahi控制台上看到任何例外,你也可以发布。
答案 1 :(得分:0)
我无法深究这一点。我怀疑这是阻止Sahi代理工作的东西,但我无法找到罪魁祸首。
我浪费了太多时间,而且它运行的机器无论如何都没有被用于其他任何事情,所以我最终的解决方案是从头开始重新安装操作系统。
这解决了这个问题。它没有帮助我理解它为什么会发生,但只要它能够正常工作,嗯?
感谢所有停留的人。