【发布时间】:2020-01-14 21:17:10
【问题描述】:
我在 Saucelabs 中运行测试,需要在运行时设置一个名为“name”的功能,它是测试方法的名称。必须对来自 DataProvider 的每个 DesiredCapabilities 对象执行此操作。
然后,我需要实例化一个实时的 RemoteWebDriver 对象,以便在包含此功能的情况下运行测试。
@DataProvider(name = "environments")
public static Object[] environments()
{
EnvironmentParser environmentParser = new EnvironmentParser();
CapabilitiesFactory capabilitiesFactory = new CapabilitiesFactory(environmentParser);
return capabilitiesFactory.makeCapabilities("./src/test/resources/webEnvironments.json");
}
@BeforeMethod
public void setUp(Method method, DesiredCapabilities[] capabilities) throws MalformedURLException
{
// Name the test in Saucelabs
for(int i = 0; i < capabilities.length; i++)
{
capabilities[i].setCapability("name", method.getName());
driver = new RemoteWebDriver(new URL(URL), capabilities[i]);
}
}
尝试运行代码时出错:
只能将 ITestContext、XmlTest、Method、Object[]、ITestResult 之一注入 @BeforeMethod 注释的 setUp。
【问题讨论】:
标签: java selenium webdriver testng dataprovider