У меня есть кусок кода, который прекрасно работает с Java-клиентом (5.0.0-BETA6) и селен-Java версии 3.3.1. Но когда я обновился до версии 6.1.0 java-клиента и версии 3.14.0 selenium-java, код начал выдавать ошибки. Нужна помощь в устранении проблемы.
AndroidDriver<AndroidElement> driver=Base.capabilities();
driver.manage().timeouts().implicitlyWait(10, TimeUnit.SECONDS);
TouchAction t=new TouchAction(driver);
driver.findElementByXPath("//android.widget.TextView[@text='Views']").click();
driver.findElementByXPath("//android.widget.TextView[@text='Date Widgets']").click();
driver.findElementByAndroidUIAutomator("text(\"2. Inline\")").click();
driver.findElementByXPath("//*[@content-desc='9']").click();
t.press(driver.findElementByXPath("//*[@content-desc='15']")).waitAction(2000).moveTo(driver.findElementByXPath("//*[@content-desc='45']")).release().perform();
Я получаю ошибку -
1. TouchAction является необработанным типом. Ссылки на универсальный тип TouchAction должны быть параметризованы »
2. Метод нажатия (PointOption) в типе TouchAction не применим для аргументов (AndroidElement)
Любая помощь в решении этой проблемы будет оценена. Спасибо.
Код, который наконец работал для меня с новой версией, упомянут ниже. Пришлось внести немало изменений.
AndroidDriver<AndroidElement> driver = BaseNew.capabilities();
driver.manage().timeouts().implicitlyWait(10, TimeUnit.SECONDS);
TouchAction t = new TouchAction(driver);
driver.findElementByXPath("//android.widget.TextView[@text='Views']").click();
driver.findElementByXPath("//android.widget.TextView[@text='Date Widgets']").click();
driver.findElementByAndroidUIAutomator("text(\"2. Inline\")").click();
driver.findElementByXPath("//*[@content-desc='9']").click();
t.press(ElementOption.element(driver.findElementByXPath("//*[@content-desc='15']")))
.waitAction(WaitOptions.waitOptions(Duration.ofSeconds(3)))
.moveTo(ElementOption.element(driver.findElementByXPath("//*[@content-desc='45']"))).release()
.perform();