我用硒木星。我从这样的方法参数中获取网络驱动程序:
@Test
public void testWithChrome(ChromeDriver chromeDriver) {
chromeDriver.get("someUrlHere");
}
现在我想在网格上运行测试,所以我需要根据环境使用 webdriver。例如,当在我的 PC 上开发测试时,我想使用(本地)ChromeDriver,但是当使用 Jenkins 在网格上运行测试时,我想使用 RemoteDriver。
所以我需要这样的东西:(当 env = 0 时给我本地 Chrome 或当 env = 1 时给我远程 Chrome 但它不起作用)
int env = 0;
@Test
public void testWithChrome(
(env == 0 ? ChromeDriver driver : RemoteDriver driver)) {
driver.get("someUrlHere");
}
简而言之:以编程方式配置 Selenium 扩展时,您可以通过配置其 URL 来强制使用 Selenium 网格,如下所示(使用 JUnit 5 注释):
abstract class UiTest {
@RegisterExtension
static SeleniumExtension seleniumExtension = new SeleniumExtension();
@BeforeAll
static void setUpOnce() {
boolean isRunningInCiEnvironment = ...
if( isRunningInCiEnvironment ) {
// this will force Selenium Jupiter to use a RemoteWebDriver
seleniumExtension.getConfig().setSeleniumServerUrl("http://...");
}
// without above condition, a FirefoxDriver will be used locally
seleniumExtension.addBrowsers(BrowserBuilder.firefox().build(););
}
}
class MyTest extends UiTest {
// Use WebDriver interface in test method: concrete browser detected
// at execution time (via @BeforeAll, inherited from parent class)
@Test
void my_test_Case(WebDriver webDriver) {
webDriver.get(...)
Assert.(...)
}
}
长度问题在这里描述.
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)