【发布时间】:2018-12-24 08:10:00
【问题描述】:
使用 Appium 的 Android 自动化: 我正在尝试验证/验证小吃店。但 Appium Inspector 没有识别小吃店的定位器。请帮助我如何验证快餐栏内容。
【问题讨论】:
标签: appium appium-android appium-snackbar
使用 Appium 的 Android 自动化: 我正在尝试验证/验证小吃店。但 Appium Inspector 没有识别小吃店的定位器。请帮助我如何验证快餐栏内容。
【问题讨论】:
标签: appium appium-android appium-snackbar
对于 Android-:永远不要使用 Appium 检查器检查 Snackbar 消息。
即使我在使用 UIAutomatorViewer 之前遇到过这个问题,我也找到了 Snackbar 消息的文本和 ID。
**
例如:
resource id-:"vn.com.nitinsurange.mobile.uat:id/snackbar_text" text-: "帐号必须在 5 到 20 位之间。(2142)"
**
@iOSXCUITFindBy(xpath ="//*[@value='Username']")
@AndroidFindBy(id = "vn.com.nitinsurange.mobile.uat:id/snackbar_text")
private MobileElement invalidpassword;
希望对大家有用。
【讨论】:
处理它的最简单方法是检查您的 Android 应用程序的源代码。假设您在 Snackbar 中有一个文本视图和按钮,您应该能够像这样找到 smth:
<view
class="android.support.design.internal.SnackbarContentLayout"
>
<TextView
android:id="@+id/snackbar_text"/>
<Button
android:id="@+id/snackbar_action"
android:visibility="gone"/>
</view>
如果没有id,建议自行添加。
现在您应该能够找到您的小吃店、获取文本或单击按钮:
FluentWait<WebDriver> wait = new WebDriverWait(driver, 10, 100).ignoring(NoSuchElementException.class);
wait.until(visibilityOfElementLocated(By.id("snackbar_text")));
【讨论】: