Всем привет. Не так давно начал осваивать автотестирование. Использую apium+testNG+real device
У меня есть два зачатка теста. Запускаю их через testNG.xml.
Столкнулся с такой проблемой:
- проходит один тест,
- драйвер закрывается и второй тест заваливается с ошибкой
java.lang.IllegalArgumentException: Can not set io.appium.java_client.MobileElement field com.XXX.tests.pageObjects.DemoPage.demoMode to
org.openqa.selenium.remote.RemoteWebElement$$EnhancerByCGLIB$$d27c0df4. - По отдельности тесты работают корректно. Приоритеты что-то прям совсем не работают…или они только внутри класса работают?
Подскажите пожалуйста, что я делаю не так?
Это мой базовый тест
public class BaseTest {
private static final String APPIUM_SERVER_URL = "http://localhost:4723/wd/hub";
public AndroidDriver<org.openqa.selenium.WebElement> driver;
@BeforeTest
public void setUp() throws MalformedURLException {
DesiredCapabilities capabilities = new DesiredCapabilities();
МОИ КАПАБИЛИТИЗ
driver = new AndroidDriver<>(new URL(APPIUM_SERVER_URL), capabilities);
driver.manage().timeouts().implicitlyWait(20, TimeUnit.SECONDS);
}
@Test
public void Start() {
System.out.println("start");
}
@AfterTest
public void teardown() {
driver.quit();
}
}
Первый тест
public class LoginTest extends BaseTest {
@Test(priority = 2)
public void Login() {
LoginPage login = new LoginPage(driver);
login.clickStartUsing();
driver.navigate().back();
}
}
Второй тест
public class DemoHouseTest extends BaseTest {
@Test(priority = 1)
public void DemoTest() {
DemoPage demo = new DemoPage(driver);
demo.clickDemo();
driver.navigate().back();
}
}
И вот что у меня в PO
public class DemoPage {
public DemoPage(AppiumDriver<WebElement> driver) {
PageFactory.initElements(new AppiumFieldDecorator(driver), this);
}
@AndroidFindBy(id = "com.XXX.client:id/btn_demo")
private MobileElement demoMode;
public void clickDemo() {
demoMode.click();
}
}