前言

在UI自动化过程中,需要对手机app上的元素进行定位,然后进一步编写自动化脚本操作app。定位元素首先需要定位工具来辅助查看页面元素。小编常用的定位工具有2种,分别是uiautomatorviewer、appium inspector。

uiautomatorviewer 是Android sdk 自带的定位工具,元素层级展示清晰,但是定位不到内嵌H5页元素。appium inspector是appium上自带的定位功能,元素层级展示不够清晰,查看元素不够方便,但是可以定位到内嵌H5页元素。

一、uiautomatorviewer定位

前提:已安装配置android sdk环境

1,打开uiautomatorviewer定位工具

点击android sdk->tools->uiautomatorviewer

2,usb连接手机

(1)打开手机开发者模式、usb调试功能

(2)手机usb连接电脑

(3)验证连接成功

mac打开终端(windows打开命令行工具)->输入指令“adb devices”->显示设备号即连接成功

3,刷新页面,查看元素

(1)点击左上角刷新页面

(2) 点击页面,右侧查看元素

鼠标点击左侧页面元素,右侧可查看元素层级关系和元素id、class等属性详情

二、appium inspector定位

前提:已安装appium客户端版本

1,启动appium服务

2,打开Inspector Session

3,配置连接信息

连接配置如下:

{
"platformName": "Android",
"deviceName": "emulator-5554",
"platformVersion": "6.0.1",
"appPackage": "com.taobao.taobao",
"appActivity": "com.taobao.tao.welcome.Welcome",
"noReset": "Ture"
}
字段释义:
'platformName':  操作平台
'deviceName': 设备名称
'platformVersion':系统版本号
'appPackage': apk包名
'appActivity':apk activity
'noReset': 在此会话之前不要重置应用程序状态,即非初始化。参数值:true, false
更多参数信息可参考:https://www.cnblogs.com/D666/p/9165086.html

4,连接手机

点击“Stsrt Session”,连接手机app

5,刷新页面,查看元素

总结:

uiautomatorviewer 使用方便,usb连接手机即可使用。元素层级展示清晰,但是定位不到内嵌H5页元素,不过一般内嵌H5页可以找前端要地址在浏览器调试下定位,所以推荐使用uiautomatorviewer进行定位。appium inspector初次使用相对繁琐,需配置连接属性,并且元素层级展示不够清晰,查看元素不够方便,但是可以定位到内嵌H5页元素。故:

首要推荐使用:uiautomatorviewer工具定位

特殊情况使用:appium inspector工具定位(uiautomatorviewer工具报错情况下、app页为内嵌H5页)

(appium+python)UI自动化_03_元素定位工具的更多相关文章

  1. python ui自动化之元素定位和常用操作

    做ui自动化的最基础的就是页面元素定位了,如果连页面元素都定位不到,自动化从何谈起呢?接下来我们就看看页面元素定位的方法吧!(这里就用百度页面来进行演示) 一.最通用的几种定位方式: 1.通过id定位 ...

  2. (appium+python)UI自动化_09_unittest批量运行测试用例&生成测试报告

    前言 上篇文章[(appium+python)UI自动化_08_unittest编写测试用例]讲到如何使用unittets编写测试用例,并执行测试文件.接下来讲解下unittest如何批量执行测试文件 ...

  3. (appium+python)UI自动化_07_app UI自动化实例【叮咚搜索加车为例】

    前言 初学UI自动化的小伙伴,在配置好appium+python自动化环境后,往往不知道如何下手实现自动化.小编在初期学习的时候也有这种疑惑,在此以叮咚买菜app-搜索加车为实例,展示下appium是 ...

  4. (appium+python)UI自动化_01_自动化环境搭建【MAC版】

    Appium简介 Appium是一个开源的.跨平台的测试框架,主要用来进行app UI自动化,适用于原生应用.混合应用和移动网页应用(H5页面).目前支持Python.JavaScript.Objec ...

  5. (appium+python)UI自动化_02_appium启动手机app

    前提:需先安装配置好appium+python自动化环境,已配置好环境的小伙伴可以参考以下步骤启动Android app,具体步骤如下: 一.USB连接手机 (1)手机USB连接电脑 (2)手机打开开 ...

  6. UI自动化之元素定位(xpath、css)

    很早之前就已经写过自动化了,不过点着功能久了就会容易忘记元素定位,尤其是xpath和css定位,所以就花点时间做下总结收集. xpath有两种定位: 一.绝对路径(不推荐使用,除非已经使用了所有方式仍 ...

  7. (appium+python)UI自动化_08_unittest编写测试用例

    前言 unittest是python自带的单元测试框架,类似于Junit(Java单元测试框架).支持自动化测试,可编写测试前置&后置条件,并且可批量运行测试用例并生成测试报告. 使用unit ...

  8. 关于UI自动化IOS元素定位方法说明

    1. 元素属性介绍 下图是通过weditor定位的微博的"我的钱包",各属性如下图: className:元素类型,如:XCUIElementTypeButton isEnable ...

  9. Appium移动端自动化测试之元素定位(三)

    1.name定位 driver.find_element_by_id(') driver.find_element_by_id(') driver.find_element_by_name('登录') ...

随机推荐

  1. 用js代码打开新场口 关于window.open()方法的参数

    应用window.open,可以弹出新窗口, window.open('path', 'windowName', 'windowSetting' ) window.open("./a.htm ...

  2. 一份完整的 MySQL 开发规范,进大厂必看!

    作者:听风 https://www.cnblogs.com/huchong/p/10219318.html 一.数据库命令规范 1.所有数据库对象名称必须使用小写字母并用下划线分割 2.所有数据库对象 ...

  3. framebuffer设备驱动分析

    一.设备驱动相关文件 1.1. 驱动框架相关文件 1.1.1. drivers/video/fbmem.c a. 创建graphics类.注册FB的字符设备驱动 fbmem_init(void) { ...

  4. python 二维数组转一维数组

    三种方法 比如 a = [[1, 2], [3, 4], [5, 6]] 列表推导式 [i for j in a for i in j] 库函数 from itertools import chain ...

  5. SCAU 2015 GDCPC team_training0

    A.题目:http://acm.timus.ru/problem.aspx?space=1&num=2024 题意:求一个包含K个不同字符的集合的最大长度,还有组成这个长度的集合的个数 做法: ...

  6. sde自动备份到文件gdb

    本方法原理是使用python(以下简称py)调用arcmap的gp,在上再用bat调用py的方式实现.优点是能应用于所有数据库类型(包括pg,oracle等)的sde库 环境:arcmap 10.4, ...

  7. Dom选择器使用与调试记录

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  8. 十大热门AI芯片

    资料来源:头条<人工智能影响力报告>中的人工智能十大热门芯片 iPhone X内部搭载了一颗全新定制的处理器——A11 Boinic,用来承担人脸识别和移动支付的工作负荷.双核心A11芯片 ...

  9. Git命令——提交、查看、后退、前进

    Git常用命令 1. 命令git init把这个目录变成Git可以管理的仓库: 2. 命令git commit把文件提交到仓库 这里需要注意的是,Git只能跟踪文本文件的改动,如txt文件,网页,所有 ...

  10. php内置函数分析之strtoupper()、strtolower()

    strtoupper(): PHP_FUNCTION(strtoupper) { zend_string *str; ZEND_PARSE_PARAMETERS_START(, ) Z_PARAM_S ...