appium测试-如何获取Toast弹框消息(Android )

在APP中,一些点击或下拉等操作会出现弹框消息,这种消息属于Android系统自带的Toast,在Appium自动化测试中有时候需要获取Toast消息来进行断言
这里以模拟器中APIDemo中的例子做演示,在APIDemo->Views->Popup Menu中选择点击Search,出现Toast弹框消息:

appium测试-如何获取Toast弹框消息(Android )_第1张图片
appium测试-如何获取Toast弹框消息(Android )_第2张图片

代码演示:与安卓开发工程师沟通得知,Toast在弹出的时候会在当前界面出现节点android.widget.Toast,随着消息的消失而消失,因此这里选择在出现时以xpath的形式,定位其class属性
public void testToast(){
        driver.findElementByXPath("//*[@text='Views']").click();
        //利用Android的API进行滑屏操作
        ((AndroidDriver<MobileElement>)driver).
                findElementByAndroidUIAutomator(
                        "new UiScrollable(new UiSelector().scrollable(true).instance(0))." +
                                "scrollIntoView(new UiSelector().text(\"Popup Menu\").instance(0))").click();
        driver.findElementByXPath("//*[contains(@text,'MAKE')]").click();
        driver.findElementByXPath("//*[@text='Search']").click();
        //识别Toast
        System.out.println( driver.findElementByXPath("//*[@class='android.widget.Toast']").getText());
    }
  • 这里操作涉及到的滑屏定位可以参考另外一篇博客:https://blog.csdn.net/weixin_43291944/article/details/94449562
运行效果演示:

appium测试-如何获取Toast弹框消息(Android )_第3张图片

  • 控制台输出:
    appium测试-如何获取Toast弹框消息(Android )_第4张图片

完成!获取成功

你可能感兴趣的:(自动化测试,App自动化/Appium)