【发布时间】:2014-03-06 12:49:32
【问题描述】:
我正在尝试将 Cucumber-JVM 添加到我一直在从事的 TestNG 和 Selenium 项目中,我目前通过类似这样的测试套件在网格上重用浏览器:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd">
<suite name="Grid" thread-count="2" parallel="tests">
<test name="Firefox 27.0">
<parameter name="browser" value="Firefox"/>
<parameter name="browser_version" value="27.0"/>
<packages>
<package name="[Test package name]"/>
</packages>
</test>
<test name="IE 11">
<parameter name="browser" value="IE"/>
<parameter name="browser_version" value="11.0"/>
<packages>
<package name="[Test package name]"/>
</packages>
</test>
</suite>
包中的每个测试类然后在基类的 setUp 方法中获取参数,如下所示:
@BeforeClass
@Parameters({"browser", "browser_version"})
public void setUp(String browser, String browser_version) throws MalformedURLException {
// Do the setup with WebDriver and assign to an object property
}
但是,我希望在所有测试类之间共享一个静态或注入类,以避免每次重新初始化浏览器,这也应该让我在各个步骤定义文件之间共享 WebDriver 实例。有人知道怎么做吗?
【问题讨论】:
标签: java selenium testng cucumber-jvm