移动自动化测试-appium
- app自动化介绍
- 工具说明
主流工具
app自动化执行原理
app类型(技术)
-
环境搭建
-
所需环境
- JDK
- android-sdk
- appium
- 模拟器
1、JDK安装
说明:为什么要安装JDK?
- 安卓应用或开发工具是使用JAVA语言开发,必须使用jdk。
- 查看是否安装jdk
安装
- 下载安装包后直接以管理员方式安装,下一步到最后即可。
- android-sdk
说明:android工具包
安装:
- 1、解压到指定目录
- 2、将目录添加到path中
- 1、新建环境变量:ANDROID_HOME=D:\android\sdk(这里为安装目录)
- 2、添加path路径,在path中添加:%ANDROID_HOME%\tools;%ANDROID_HOME%\platform-tools;
提示:tools有查看元素工具,我们必须使用;platform-tools是adb命令工具所在目录。
3、appium安装
说明:需要安装
appium服务端程序
和python中调用的api库
服务端:
- 作用:将脚本发送给手机
- 安装:双击安装程序appium-desktop-1.8.0.exe,一直到完成即可。
- python的appium.api库
- 作用:自动化测试使用api
- 安装:pip install Appium-Python-Client==1.2.0
4、模拟器
说明:安卓手机
安装:雷电、mumu、夜神,默认安装完成即可
- adb命令
说明:通过电脑,操作android系统的工具。
- adb工作原理
- adb命令
- 获取包名和启动名
- 包名:一个安卓应用的唯一标识符,操作哪个应用需要依赖包名
- 启动名:应用中界面标识符,允许重复。
1、mac/linux:adb shell dumpsys window | grep usedApp
2、windows:adb shell dumpsys window | findstr usedApp
- 上传和下载命令
- 上传:
adb push 路径\xxx.txt/sdcard
- 下载:
adb pull /sdcard/xxx.txt本地文件夹路径
- 启动时间命令
- 命令:
adb shell am start -W 包名/启动名
注意:查看时间,一般要冷启动(应用程序没有启动)
冷启动:应用程序未启动
热启动:应用程序已启动在后台或当前页面。- 查看日志
- 命令:adb logcat > d:\xxx.log
- 提示:对app操作时,
要先开启日志,记录app操作的步骤和异常
- 其他常用命令
提示:
1、adb start-server 正常不需要手动启动,自动启动adb.exe进程。当应用进程死机,需要执行杀服务,杀完后
需要执行命令启动。
2、adb connect ip:端口 正常不要手动连接,系统会自动连接。如果执行adb devices 没有看到设备列表,需要
手动连接。
- 元素定位
- 查看元素定位信息
为什么要查看元素信息?
说明:自动化测试就是查找元素操作元素,要查找元素,就需要根据元素的信息来查找(id、
class、text、…)
- 如何查找?
使用:android SDK 自带工具:uiautomatorviewer工具
- 如何使用?
1、启动
2、截屏查看
- 使用常见问题
- 元素操作
- 基础操作API
入门示例
前置:必须启动appium服务、模拟器。
from appium import webdriver
#定义字典变量
desired_caps={}
#字典追加启动参数
desired_caps["platformName"]="Android"
#注意:版本号必须正确
desired_caps["platformVersion"]="7.1.1"
#android不检测内容,但是不能为空
desired_caps["deviceName"]="192.168.56.101:5555"
desired_caps["appPackage"]="com.android.settings"
desired_caps["appActivity"]=".Settings"
#设置中文
desired_caps["nicodeKeyboard"]=True
desired_caps["resetKeyboard"]=True
#获取driver
driver=webdriver.Remote("http://127.0.0.1:4723/wd/hub",desired_caps)