我正在使用JBehave和Selenium为基于浏览器的验收测试构建测试框架。在https://github.com/jbehave/jbehave-tutorial/tree/master/etsy-selenium/java-spring使用示例代码开始我的项目,工作得很好,但现在遇到了问题。
我的测试用例在Firefox上正常运行,但在IE8上没有任何效果。简单的查找条款在IE上失败。
System info: os.name: 'Windows XP', os.arch: 'x86', os.version: '5.1', java.version: '1.7.0'
Driver info: driver.version: BaseFluentWebDriver
at org.openqa.selenium.remote.ErrorHandler.throwIfResponseFailed(ErrorHandler.java:125)
... 64 more
Caused by: org.openqa.selenium.NoSuchElementException: Unable to find element with id == search-box (WARNING: The server did not provide any stacktrace information)
在线搜索似乎我需要设置INTRODUCE_FLAKINESS_BY_IGNORING_SECURITY_DOMAINS = true并努力在spring bean .xml config中设置它。
这就是我目前所拥有的,请提出更正或者让我知道我是否完全采用了错误的方法来解决这个问题。
<bean id="browserCapabilities" class="org.openqa.selenium.remote.DesiredCapabilities" >
<constructor-arg index="0" value="internet explorer"/>
<constructor-arg index="1" value="8"/>
<constructor-arg index="2" value="WINDOWS"/>
</bean>
<bean id="ieDriverCapabilitySetter" class="org.springframework.beans.factory.config.MethodInvokingFactoryBean">
<property name="targetObject" ref="browserCapabilities" />
<property name="targetMethod" value="setCapability" />
<property name="arguments">
<list>
<value>org.openqa.selenium.ie.InternetExplorerDriver.INTRODUCE_FLAKINESS_BY_IGNORING_SECURITY_DOMAINS</value>
<value>true</value>
</list>
</property>
</bean>
<bean id="driverProvider" class="org.jbehave.web.selenium.RemoteWebDriverProvider" >
<constructor-arg ref="browserCapabilities"/>
</bean>