2

我正在使用由C#、Nunit 2.5.10 和 Selenium RC 2.24.1组成的测试框架测试一个复杂的 Web 应用程序(不幸的是,不能选择切换到 WebDriver)。

我们最近彻底检查了我们的应用程序 UI/UX,因此我们一直在系统地更新我们的测试以适应新版本。

一切都非常顺利,直到我们遇到一个问题,即我们的浏览器在运行某些测试时似乎随机崩溃。我们使用Firefox(Chrome 驱动程序)进行测试,但在我们的测试客户端上安装了从3.6 到 15.01的各种版本。在Windows 7 和 Windows Server 2008 R2上运行的所有浏览器版本上,该问题似乎始终可以重现。

当浏览器崩溃时,它会留下一个对话框,即使在我们运行清理方法后该对话框仍然存在,该方法会终止所有打开的浏览器会话以准备下一次测试。因为这个对话框一直存在,它使 RC 服务器会话保持活动状态,这会导致下一组测试挂起。

我将测试追溯到导致崩溃的特定操作,它似乎总是一个点击事件,但在应用程序内的各种按钮上,并不总是同一个。这些按钮没有任何共同之处,只是它们都触发了javascript 回发。我还能够将一次崩溃跟踪到由下拉框选择触发的回发事件

我们的测试框架相当复杂,我们有数千个测试,所以我们求助于评论崩溃测试只是为了保持套件的其余部分运行。

即使遵循 selenium 测试所采用的确切路径,我们也无法通过手动测试来模拟崩溃。

任何关于可能导致此问题的想法或解决方法的任何想法都将不胜感激。

4

1 回答 1

0

我遇到了由 Microsoft Security Essentials 上的实时保护导致的 Selenium 测试间歇性失败的问题。对我来说,取消选中“设置”中的“打开实时保护”| 我运行测试时的实时保护解决了这个问题。尝试在运行测试时禁用您的防病毒软件,看看是否能解决您的问题。显然,Selenium 采取的行动可以解释为病毒活动。

于 2014-11-21T11:24:25.557 回答