如何在 TestNG XML 文件中配置一个测试以启动两个驱动程序,如使用 QAF 时的 Chrome 驱动程序和 Android 驱动程序
How to configure one test in TestNG XML file to start two driver, like Chrome Driver and Android Driver when using QAF
案例步骤:
- 打开网络浏览器执行一些步骤
- 使用 Appium 打开 Android 设备以执行一些步骤。
注意:在 TestNG XML 的一次测试中,这两个步骤应该是 运行。
如果您不希望两个驱动程序会话都处于活动状态但想要switch to another driver by kill current driver session,您可以在代码中设置driver.name
属性,它会完成需要的工作。 在代码中更改以下任何一项 属性 会拆解现有驱动程序并创建新的驱动程序实例:
driver.name
driver.additional.capabilities
remote.server
remote.port
例如:
getBundle().setProperty("driver.name","chromeDriver");
//do the needful
getBundle().setProperty("driver.name","anotherDriver");
//it will teardown chromedriver and create anotherDriver session in next driver call.
//do the needful
如果你想让两个驱动程序会话都处于活动状态,Support for Multiple driver in the same thread/test-case 已从 2.1.11 开始添加。要在测试用例中更改驱动程序,您可以使用 QAFTestBase 的 setDriver(String driverName)
方法。例如:
TestBaseProvider.instance().get().setDriver("chromeDriver");`
参考commit notes中的详细信息。
案例步骤:
- 打开网络浏览器执行一些步骤
- 使用 Appium 打开 Android 设备以执行一些步骤。
注意:在 TestNG XML 的一次测试中,这两个步骤应该是 运行。
如果您不希望两个驱动程序会话都处于活动状态但想要switch to another driver by kill current driver session,您可以在代码中设置driver.name
属性,它会完成需要的工作。 在代码中更改以下任何一项 属性 会拆解现有驱动程序并创建新的驱动程序实例:
driver.name
driver.additional.capabilities
remote.server
remote.port
例如:
getBundle().setProperty("driver.name","chromeDriver");
//do the needful
getBundle().setProperty("driver.name","anotherDriver");
//it will teardown chromedriver and create anotherDriver session in next driver call.
//do the needful
如果你想让两个驱动程序会话都处于活动状态,Support for Multiple driver in the same thread/test-case 已从 2.1.11 开始添加。要在测试用例中更改驱动程序,您可以使用 QAFTestBase 的 setDriver(String driverName)
方法。例如:
TestBaseProvider.instance().get().setDriver("chromeDriver");`
参考commit notes中的详细信息。