Background: 我们有一个使用Selenium和Firefox Web驱动程序运行功能文件的测试框架 . 在Firefox下运行时,所有功能文件都会通过测试 . 对于测试运行者,我们在开发人员/ QA本地计算机上使用SpecFlow,在CI服务器上使用SpecRun . 正在测试的网站是用经典的ASP.NET编写的 .
Requirement: 我们希望在Internet Explorer 11下传递功能文件测试 .
Approach: 获取要素文件测试以使用SpecFlow和SpecRun传递本地计算机
Machine Prep:
-
将Internet Explorer 11的缩放级别设置为100%
-
为Internet Explorer 11中的所有区域启用了保护模式
-
为Internet Explorer Web驱动程序设置EnableNativeEvents = false(2.44.0)
所有功能文件都在运行 SpecFlow 的本地计算机上传递
Issue: 与 SpecRun 一起运行时,本地计算机上的相同功能文件FAIL . 问题是EnableNativeEvents = false似乎被忽略,点击不起作用 . 我还在CI服务器上测试过,功能文件也在那里失败了 .
Feature file step to click search button works in SpecFlow
Same step to click search button NOT WORKING in SpecRun (NOTE: the search button has focus)
Selenium是与网站交互的组件 . SpecFlow和SpecRun只是测试运行者 . 这可能是什么问题?
在此先感谢您的时间 .
2 回答
我假设您希望在无人参与模式下运行所有测试,因为您通过CI启动它们 . 为了使IE在这种情况下更好地工作,您可以添加其他功能 .
这违反了自动化标准,但是当它得到关注时IE非常有效 .
您已经提到Dev / QA本地计算机运行Specflow,CI计算机运行SpecRun . Dev / QA本地机器是否也使用SpecRun作为单元测试运行器?
如果没有,请尝试在CI计算机上使用相同的测试运行器,看看是否能解决问题 . 值得一试 .