У меня есть отдельный класс под названием Common AndroidDriver, в котором находятся возможности и драйвер. Я хочу иметь возможность добавлять udid устройства в качестве параметра отдельно для каждого теста.
public class CommonAndroidDriver {
public static AndroidDriver driver;
private URL serverUrl;
private DesiredCapabilities capabilities = new DesiredCapabilities();
public CommonAndroidDriver() throws MalformedURLException {
this.serverUrl = new URL("https:");
capabilities.setCapability("appium:platformName", MobilePlatform.ANDROID);
capabilities.setCapability("appium:automationName", "UiAutomator2");
capabilities.setCapability("appium:appPackage", "blabla");
capabilities.setCapability("appium:appActivity", "blabla");
capabilities.setCapability("uftm:oauthClientId", "blabla");
capabilities.setCapability("uftm:oauthClientSecret", "blabla");
capabilities.setCapability("uftm:tenantId", "blabla");
capabilities.setCapability("appium:udid", **here** context.getCurrentXmlTest().getParameter("udid") ?);
capabilities.setCapability("appium:noReset", true);
capabilities.setCapability("appium:autoGrantPermissions", true);
this.driver = new AndroidDriver(serverUrl, capabilities);
}
}
Пример запуска теста. Я хочу, чтобы этот udid был введен UP в CommonAndroidDriver:
public class LoginTest extends BaseAppium {
public LoginTest() throws IOException {
}
@Test
@Parameters({"login", "password", "udid"})
public void Login(String login, String password, String udid) throws Exception {
//some test steps
}
}
Я начал комбинировать его с ITestContext getCurrentXmlTest().getParameter, но не смог найти способ передать udid в возможности.
Testngxml
р>
BaseAppium
public class BaseAppium {
CommonAndroidDriver cad = new CommonAndroidDriver();
public AndroidDriver driver;
public BaseAppium() throws IOException {
}
@BeforeClass
public void setUp() throws IOException {
this.driver = cad.driver;
}
@BeforeTest
public void setTest() {
}
@AfterClass
public void tearDown() throws IOException, InterruptedException {
this.driver.terminateApp("app.name");
this.driver.quit();
}
}
Подробнее здесь: https://stackoverflow.com/questions/790 ... te-classes