首页 文章

Selenium IE驱动程序在使用SpecRun运行时不会单击,但在使用SpecFlow运行时可以运行

提问于
浏览
1

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
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)
Same step to click search button NOT WORKING in SpecRun

Selenium是与网站交互的组件 . SpecFlow和SpecRun只是测试运行者 . 这可能是什么问题?

在此先感谢您的时间 .

2 回答

  • 0

    我假设您希望在无人参与模式下运行所有测试,因为您通过CI启动它们 . 为了使IE在这种情况下更好地工作,您可以添加其他功能 .

    capability.setCapability(InternetExplorerDriver.REQUIRE_WINDOW_FOCUS,true);
    

    这违反了自动化标准,但是当它得到关注时IE非常有效 .

  • 0

    您已经提到Dev / QA本地计算机运行Specflow,CI计算机运行SpecRun . Dev / QA本地机器是否也使用SpecRun作为单元测试运行器?

    如果没有,请尝试在CI计算机上使用相同的测试运行器,看看是否能解决问题 . 值得一试 .

相关问题