我正在使用页面对象模型,我想在浏览器堆栈上运行跨浏览器测试。我被困在BeforeTest方法上,dataProvider的bcoz不能与BeforeTest一起使用。
public static void setup() throws MalformedURLException {
browserStack();
}
@Test (dataProvider = "browserStackData")
public static void browserStack(Platform platform,String browserName,String browserVersion) throws MalformedURLException {
DesiredCapabilities caps = new DesiredCapabilities();
caps.setPlatform(platform);
caps.setBrowserName(browserName);
caps.setBrowserName(browserVersion);
caps.setCapability("project", "WebAPP");
caps.setCapability("build", "1.0");
caps.setCapability("name", "Login");
caps.setCapability("browserstack.local", "false");
caps.setCapability("browserstack.networkLogs", "true");
driver = new RemoteWebDriver(new URL(URL), caps);
}
@DataProvider(name = "browserStackData" , parallel = true)
public Object[][]getData() {
Object[][] testData = new Object[][]{
{Platform.MAC, "chrome", "84"},
{Platform.WIN10, "firefox", "78"},
{Platform.MAC, "safari", "13.1"}
};
return testData;
}
为了在BrowserStack上运行测试,您只需更改中心URL,如果您能够在本地进行测试,那么您的测试也将在BrowserStack上运行。
后续步骤-
1)将BrowserStack Hub URL指定为:“ https://” +用户名+“:” + AUTOMATE_KEY +“ @ hub-cloud.browserstack.com / wd / hub”;
2)如链接中所述在测试脚本中传递所需的功能:https://www.browserstack.com/automate/capabilities
您可以在这里参考文档:https://www.browserstack.com/docs?product=automate
而且,他们的GitHub存储库应为您提供帮助:https://github.com/browserstack