原标题:Android调试APP之UI自动化测试
自动化测试: 本文介绍Android自动化测试,iOS缺少环境与技术栈支持暂且不表。自动化测试从各方资料显示分三层,底层单元测试、中间层接口测试、金字塔尖的则是UI测试,往下两层都是针对应用程序内部逻辑实施的,而UI测试关注的是交互性测试。
App自动化环境搭建
本机测试开发环境需要安装jdk,版本>=1.7,需添加环境变量,检测是否正确安装
java-version # 即查看jdk版本,是否配置正确
ADT-sdk环境,解压缩包adt或者adt-bundle-windows即可,下载sdk-tools地址:android-sdk-windows解压后点击sdk manager.exe,下载自己对应android版本的platform-tools即可。
需要配置环境变量ANDROID_HOME,加入path:%ANDROID_HOME%tools;%ANDROID_HOME%platform-tools;adb devices / adb version /-h 帮助,查看设备是否连接及adb版本信息升级并解压uiautomatorviewer下的jar包,覆盖adtsdktoolslib下的jar包即可
Tips:android 8.0 以后 uiautomator 无法直接使用的问题。
android8.1以后sdk tools自带的uiautomator直接打开,截取不到机器界面信息。可以使用以下方法手动截取:首先操作机器定位到要分析的界面,1.截取uix资源文件adbshell uiautomator dump /sdcard/screen.uixadbpull /sdcard/screen.uix D:/screen.uix2.截取截图adbshell screencap -p /sdcard/screen.pngadb pull /sdcard/screen.png D: /screen.png打开sdk tools目录下的uiautomatorviewer.bat,导入从机器获取的截图和资源文件即可进行UI界面元素定位tips:app录屏:adbshell screenrecord --verbose /sdcard/demo.mp4--verbose在命令行屏幕显示日志信息。如果您不设置此选项,则该实用程序在运行时不会显示任何信息。--time-limittime 设置最大录制时长(以秒为单位)。默认值和最大值均为 180(3 分钟)。
appium客户端依赖nodejs的安装,同时需要安装依赖.net4.5框架;自动勾选添加path环境变量即可。
node-v #检查是否安装成功
appium安装的两种方式:npm install -g appium 或者下载appium客户端直接安装
检查是否正确安装:appium -v
Tips:解决npm默认安装路径,缓解系统盘压力
自定义设置自己的安装路径// 设置npm安装程序时的默认位置npm config setprefix"npm安装路径下node_modules"// 设置npm安装程序时的缓存位置npm config setcache "npm安装路径下node_cache"// 设置环境变量NODE_PATH= npm安装路径下node_modules// 然后在使用npm安装程序时在后面加一个参数-g即可npm install appium --registry=https: //registry.npm.taobao.org -gnpm uninstall appium -gcmd命令调用appium,查看运行日志,这里没有appium客户端,如果不是特别需要客户端,即节省磁盘空间
如果是python语言,还需要安装appium-python-Client包,因为是继承selenium的封装,所以会自带安装selenium;
python-V选择3 .7的版本
tips:解决python安装执行selenium指定版本,即修改pip默认安装路径
如果版本不正确,先卸载:pip uninstallselenium,重新安装:pip installselenium==版本号tips:若是不知版本号,先pip searchselenium即可得到python -m site 检测pip默认安装路径修改python安装目录下的文件,libsite.py,修改user_site、user_base路径,pip install安装目录;注意user_site=libsite-packages,是最终安装python依赖第三方库的路径,user_base=python,放pip安装命令的路径
java开发工具eclipse,Python开发工具pycharm。
appium手机模拟器,或者连接真机;
npminstall appium-doctor -gappium-docker #需要配置环境变量才能检测
获取app启动类。
命令:aapt dumpbadging apk (将apk包直接拖入命令行)# 获取当前应用packname即activity命令:adb shell dumpsys window | findstr "mCurrentFocus"
模拟器介绍:nox_setup夜神模拟器、逍遥安卓模拟器xyaz_setup;