• 三大元素定位工具


    学员们在日常的 Android app 自动化测试工作当中,元素定位时会遇到以下类似的报错:


    然后来问老师,这是啥情况?

    老师一般都会送上亲切的关怀:

    1)adb能识别到设备吗? 
    2)设备有被其它的程序在占用吗? 
    3)ADT的版本正确吗? 

    当学生对以上关怀都确认之后,反馈仍然会遇到这样的报错。

    那么老师为了不影响学习的热情,会提供以下三种定位小手段,总有一款可以让你顺利的定位到元素哦!!

    每一种工具定位的前提:

    1. 通过 adb devices 命令能够识别到至少一个 Android 设备;
    2. 设备当前没有被任何其它的应用程序所占用;

    第一种:Android ADT 自带工具:uiAutormatorViewer

    文章最开始的报错截图,就是来自于这个工具啦。

    Android 4.2 以上的版本,自带的自动化测试框架是 uiAutomator。

    uiAutomatorViewer 就是它的元素定位工具了。

    如果要用 UiAutomator 来做自动化测试,就需要掌握 Java 语言了。

    安装:

    uiAutomatorViewer 是安卓调试工具(ADT)中的一部分。所以只需要安装 ADT 就可以了(不需要安装 SDK 哦)。

    1. 安装 Android Studio
    1. 在 Android Studio 的启动页面当中,选择右下角的 Configure -> SDK Manager

    会弹出下图:选择 Android SDK -> SDK Tools ,按图中勾选,点击 OK 进入安装,安装完成即可关闭 Android Studio。 记住图中 Android SDK Location 对应的路径。

    使用:

    1、找到 ADT 安装目录,在其 tools/bin 目录下,找到 uiAutomatorViewer 程序,双击打开。

    例如:ADT 的目录为:/Users/liyuan/Library/Android/sdk

    (Ps: 亲测目前不支持 jdk1.8 以上的版本。所以为了启动成功,要安装 jdk1.8 的版本。

    mac 下若安装了 jdk11 和 jdk1.8,需要编辑 uiautomatorviewer 文件,找到 javaCmd="java",

    修改为 javaCmd="/Library/Java/JavaVirtualMachines/jdk1.8.0_231.jdk/Contents/Home/bin/java"

    /Library/Java/JavaVirtualMachines/jdk1.8.0_231.jdk/Contents/Home/bin/java 为 jdk1.8 版本对应的 java.png)

    2)定位元素。



    第二种:appium 的 appium inspector

    appium 是目前最流行的开源的 app 功能测试框架。

    同时支持 iOS 和 Android 的自动化测试,也支持多语言(python/java/C#......png)

    安装:

    只要安装 appium,那么 appium inspector 也就有了。

    appium desktop 下载地址:http://appium.io/

    (Ps:需要先安装 nodejs,再安装 appium 程序哦。)

    使用:

    1. 启动 appium desktop 之后,点击右上角的第一个按钮

    1. 在打开如下界面当中,按图中所示,填写信息:

    1. 会根据启动参数,去打开对应的 app,然后会截取 app 当中的页面。

    第三种:python 版 uiAutomator2 中的 weditor

    python 语言实现的一个 app 自动化测试框架。

    安装:

    安装 uiAutomator2:pip install -U uiautomator2

    安装定位工具 weditor: pip install -U weditor

    安装完成之后:命令行运行:weditor --help 确认是否安装成功。

     

    使用:

    1. 命令行输入:weditor 会自动打开在浏览器当中打开一个 2) 所示的页面。

    1. 选择 Android,输入设备序列号,点击 connect。点击 Dump Hierarchy,就可以看到元素的信息了。

    延伸:

    GitHub 地址:https://github.com/openatx/uiautomator2

    柠檬班-论坛文章地址:http://www.lemfix.com/topics/346



    总结:

    以上 3 种定位告诉你: 任何一个 app 自动化测试的框架,都会给你提供一个对应的定位工具哦!

    Android 自带的 UiAutomator 测试框架,提供 uiAutomatorViewer。

    appium 测试框架,提供 appium inspector.

    python 实现的 uiAutomator2 测试框架,提供 weditor

    在 app 自动化测试的过程中,可以使用任意一种来帮你进行元素定位。


    ----------------------------------------------------------------
    转载自:http://testingpai.com/article/1595507262082

  • 相关阅读:
    bzoj3670 [Noi2014]动物园
    bzoj2882 工艺
    bzoj3097 Hash Killer I
    bzoj3729 Gty的游戏
    【BZOJ4555】[TJOI&HEOI2016]求和 斯特林数+NTT
    【bzoj4869】[Shoi2017]相逢是问候 线段树+扩展欧拉定理
    【BZOJ1853】[Scoi2010]幸运数字 容斥原理+搜索
    【BZOJ2839】集合计数 容斥原理+组合数
    【BZOJ3622】已经没什么好害怕的了 容斥原理+dp
    【BZOJ3589】动态树 树链剖分+线段树
  • 原文地址:https://www.cnblogs.com/charles2018/p/13894560.html
Copyright © 2020-2023  润新知