我有一套使用 Sahi 为我们的网站进行的测试。这些测试是自动化的,并输入到我们的 Jenkins 构建系统中。
测试在专用 PC 上运行,该 PC 没有其他用途。它安装了 Sahi 以及所有浏览器。Jenkins 服务器对测试 PC 进行远程调用以运行测试。由于运行所有测试需要时间,因此该功能测试套件会在一夜之间运行。
几个月来,这个系统运行良好。但突然,几周前的一天,我走进办公室,发现所有的测试都失败了。从那以后他们就没有工作过。据我所知,没有任何重大变化(我们显然保持浏览器版本是最新的,但我不认为失败与任何更新同时发生;Sahi 本身自去年以来就没有更新)
我做了一些工作来找出发生了什么:
Sahi 使用代理作为其浏览器控制魔法的一部分,我相信这个代理是问题的根源。但我无法弄清楚如何或为什么。
当 Sahi 控制下的浏览器加载要测试的页面时,似乎没有一个 HTTP 请求成功。显示了原始页面内容(我认为是因为它被缓存了),但没有显示样式、图形或脚本(浏览器已经缓存的除外)。此外,Sahi 脚本随后尝试单击按钮以继续进行测试,但浏览器无法加载任何内容。Sahi 稍等片刻,但最终脚本超时并且测试失败。
手动运行 Sahi 时,我可以在受影响的 PC 上复制它。它发生在任何站点和所有浏览器中。然而,它不会发生在我自己的台式电脑上,它安装了所有相关软件的相同版本。当然,过去它在测试盒上运行良好。
我试过卸载 Sahi 和浏览器,然后从头开始重新安装。这没有任何区别。(我很欣赏卸载通常不会真正删除所有内容,所以也许我可以在这里做更多的事情?)
我真的希望有人可以在这里帮助我,因为我不确定还有什么可以尝试的。
提前谢谢了。