使用多线程并行运行多个浏览器上的jbehave测试

时间:2015-04-10 10:35:37

标签: java multithreading spring selenium jbehave

我已经做了很多搜索,但找不到解决方案。

我目前正在使用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");

有没有办法设置它,所以它会自动注入每个驱动程序提供者并在不同的线程上运行测试?

谢谢你的到来。

0 个答案:

没有答案