我已经做了很多搜索,但找不到解决方案。
我目前正在使用jebhave,spring项目来设置我的自动化测试。这可以在这里找到: https://github.com/jbehave/jbehave-tutorial/tree/master/etsy-selenium/java-spring
原型是“org.jbehave:jbehave-spring-archetype” http://jbehave.org/reference/stable/archetypes.html
目前设置使用spring注入FirefoxWebDriverProvider,但我需要以某种方式在Chrome和IE中同时运行这些测试。我发现如果设置系统属性,使用PropertyWebDriverProvider允许我在不同的浏览器中运行,但我现在必须通过注释掉代码行手动选择它。
spring xml具有以下内容:
<bean id="driverProvider" class="org.jbehave.web.selenium.PropertyWebDriverProvider" >
</bean>
<bean id="webDriverProvider" class="org.jbehave.web.selenium.PerStoryWebDriverSteps">
<constructor-arg ref="driverProvider"/>
</bean>
<bean id="lifecycleSteps" class="com.three.automation.steps.LifecycleSteps">
<constructor-arg ref="driverProvider"/>
</bean>
除非我指定系统属性(每个浏览器一次一个),否则运行此默认设置为Firefox驱动程序:
System.setProperty("browser", "chrome");
System.setProperty("webdriver.chrome.driver", "src/main/resources/chromedriver.exe");
//System.setProperty("browser", "ie");
//System.setProperty("webdriver.ie.driver", "src/main/resources/IEDriverServer.exe");
有没有办法设置它,所以它会自动注入每个驱动程序提供者并在不同的线程上运行测试?
谢谢你的到来。