• 三大元素定位工具


    学员们在日常的 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

  • 相关阅读:
    POJ 3468 A Simple Problem with Integers
    BZOJ 4430 Guessing Camels
    POJ 2309 BST
    POJ 1990 MooFest
    cf 822B Crossword solving
    cf B. Black Square
    cf 828 A. Restaurant Tables
    Codefroces 822C Hacker, pack your bags!
    [HDU 2255] 奔小康赚大钱
    [BZOJ 1735] Muddy Fields
  • 原文地址:https://www.cnblogs.com/charles2018/p/13894560.html
Copyright © 2020-2023  润新知