今天思寒说 Appium 1.6.3 支持 Toast ,作为一枚吃瓜群众,决定一试究竟。
思寒原帖: https://testerhome.com/topics/6685
结论:经本人实测,完美获取 Toast。
npm -g install appium@1.6.3
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
截图: