app ui自动化--2、元素定位的几种工具

一、环境搭建

参考: https://mp.csdn.net/mp_blog/creation/editor/new/129408534

二、模拟器配置(或者使用真机)

1、下载夜神模拟器
2、将D:\software\AndroidSDK24.4.1\platform-tools目录下的adb.exe复制到D:\software\Nox\bin目录下,分别替换D:\software\Nox\bin目录下的adb.exe和nox_adb.exe
3、启动夜神模拟器
4、使用adb devices命令查找设备链接,出现127.0.0.1:62001的代表配置成功
5、在模拟器中安装被测程序

三、元素定位工具

做自动化测试最重要的是要先定位到元素,appium定位元素和selenium类似,准确的说appium也是继承了selenium的方法。

工具1、uiautomatorviewer

uiautomatorviewer是Android SDK自带的元素定位工具

a)前置条件:通过真机或虚拟机连接上电脑,可通过adb devices命令验证

b)双击打开uiautomatorviewer.bat工具,工具在AndroidSDK安装目录的tools文件夹中

c)选择图中标记的区域,可展示手机当前页面的元素

d)通过点击手机页面相关区域,在右边可以看到app的xml结构树,可以获取到每个节点的详细属性,例如text、class等,拿到元素信息后就可以使用代码来操作了

工具2、weditor

weditor是基于浏览器技术的UI查看器,直接在浏览器打开。

a)安装weditor库

pip install -U weditor

# 该命令会安装uiautomator2和Facebook-wda两个库,分别支持Android和ios的app

执行该命令后,报错下图

解决办法:

已知目前版本是0.6.5,所以尝试降低一下版本安装

pip install weditor==0.6.4

查看版本:pip list | findstr weditor

大功告成!!!

b)第一次连接时需要在手机上安装工具

python -m uiautomator2 init

# 执行该命令会自动向手机端安装 ATX和com.github.uiautomator.test两个工具

c)启动weditor服务

命令行输入 python -m weditor

此时会在浏览器中自动访问 http://localhost:17310/ 可看到设备的当前停留页面

重点提醒:选择设备后方的输入框中一定要输入你连接了电脑的设备名称,不然会一直报错 Local server not started, start with $ python -m weditor

注意:

如果用appium编写APP自动化用例,而使用weditor来查看页面元素。在运行appium用例脚本时需要停止UiAutomator守护服务,因为UiAutomator相关进程会导致appium依赖的uiautomatorviewer 服务无法运行。

关闭方法参考文档:https://github.com/openatx/uiautomator2#stop-uiautomator

d)常见报错

1、启动程序报错:

ModuleNotFoundError: No module named 'cv2'

解决办法:

pip install opencv-python

2、启动程序报错:

No module named ‘StringIO’

解决办法:

找到报错的main文件,打开将“import StringIO”注释掉,添加如下代码:

try:
    from io import StringIO
except ImportError:
    from cStringIO import StringIO

工具3、Appium Inspector

a)启动Appium服务(可通过命令行 输入 appium 启动,或通过GUI启动)

b)打开Appium Inspector工具

c)可手动添加Desired Capabilities

d)常用参数

具体参数参照:

https://appium.io/docs/en/writing-running-appium/caps/

https://github.com/appium/appium/blob/master/docs/en/writing-running-appium/caps.md

e)设置好以下这些参数后,点击右下角【Start Session】,可以获取到每个节点的详细属性。

四、用例录制

五、查找Packagename和Activity

方法1、

adb shell "logcat | grep START"

方法2、

下载AAPT build-tools,并配置环境变量,下载地址:https://androidaapt.com/

aapt dump badging xx.apk (apk的绝对路径)

这个命令会输出很多东西,翻到最前方,找到package:name=xxx,引号中的就是packagename 向下拉,找到launchable-activity:name=xxx,引号中的就是activity name

  • 1
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值