Appium 1.6.3

今天思寒说 Appium 1.6.3 支持 Toast ,作为一枚吃瓜群众,决定一试究竟。

思寒原帖: https://testerhome.com/topics/6685
结论:经本人实测,完美获取 Toast。

测试内容如下:

首先,你要先把你的 Appium 更新到 1.6.3

npm -g install appium@1.6.3

首先抱歉一下,昨天因为网络问题没能够继续更新,从 github 拿 java-client 生成 java-client 5.0. jar 的时候 build 没做完。

第一次尝试,更新到 Appium 1.6.3 之后,在 case 中需要使用 UIAutomation2

capabilities.setCapability(MobileCapabilityType.AUTOMATION_NAME, AutomationName.ANDROID_UIAUTOMATOR2);
而我使用的是 java-client 4.12 ,并没有 AutomationName.ANDROID_UIAUTOMATOR2 ,需要从 github 获取最新代码,打包 java-client 5.0
获取最新代码: git clone https://github.com/appium/java-client.git
生成 java-client 5.0: /Applications/Android\ Studio.app/Contents/gradle/gradle-2.14.1/bin/gradle assemble

提示:生成的 java-client 5.0 需要 JDK1.8 和 selenium 3.0,别忘了在你 project 加入 selenium 3.0

测试 APP 如下:https://github.com/tobecrazy/appiumDemo/blob/master/apps/webview.apk

核心代码:

    @Test(groups = { "Toast" })
public void webViewTest() throws InterruptedException {
    final WebDriverWait wait = new WebDriverWait(driver, 10);
    driver.startActivity("com.testerhome.webview", ".ToastActivity");
    MobileElement toastButton = driver.findElementById("com.testerhome.webview:id/toast");
    toastButton.click();
    Assert.assertNotNull(wait.until(
            ExpectedConditions.presenceOfElementLocated(By.xpath(".//*[contains(@text,'Toast Test')]"))));

}

Java-client 5.0 下载:https://github.com/tobecrazy/appiumDemo/blob/master/libs/java-client-5.0.0-SNAPSHOT.jar

截图:


↙↙↙阅读原文可查看相关链接,并与作者交流