【发布时间】:2019-10-05 14:23:21
【问题描述】:
我有一段代码可以很好地与java-client(5.0.0-BETA6) 和selenium-java version 3.3.1 配合使用。但是当我升级到java-client version 6.1.0 和selenium-java version 3.14.0 时,代码开始抛出错误。需要帮助解决问题。
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();
我得到的错误是:
TouchAction 是原始类型。对泛型类型 TouchAction 的引用应该被参数化”
TouchAction 类型中的方法 press(PointOption) 不适用于参数 (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();
【问题讨论】:
标签: selenium appium appium-android java-client