app自动化(一)app自动化环境搭建
用最简单的话术,描述最难理解的问题。
【原理】:
用简单的话来说就是python操作appnium,appnium操控android SDK,android SDK通过命令操控手机,就实现了app自动化
第一步:搭建python环境。(python自动化脚本)
这个就很简单了,安装好python环境就行。当然不一定要python,其它语言也行,这里用python语言讲解。安装完后,cmd输入python验证一下,出现以下则说明环境安装成功。还有别忘了安装pycharm工具
第二步:安装android SDK环境
安装java jdk环境:首先得配置好java jdk环境,安装比较简单,不会请看此篇文章,按照里面的一步步来即可 https://www.cnblogs.com/FBGG/p/15103119.html
如果之前已经安装有了,验证一下是否可用:java --version 和 javac --version 能看到版本号则说明OK了。
安装android SDK:网址:http://sdk.android-studio.org/ ,推荐zip下载。当然你也可以从官网或其它地方下载。
下载完后, 将文件解压到某一个路径中,注意解压路径不能有中文
进入文件双击SDK Manager.exe
打开文件之后,会得到下图,根据图片描述勾选下载即可。Tool 下勾选这3个, 下图的Android SDK Build-tools都是一样的, 只是版本不一样(个人习惯,不想用最新版本)
更新下载完成后, Android SDK就安装好了,下一步配置环境变量
第三步:配置电脑环境变量
新建系统环境变量
ANDROID_HOME:值是Android-sdk 的解压路径
编辑系统的path 路径
注意, win10有新旧版本两个编辑界面,而且两个都是不一样,增加的变量也是不一样的, 用哪一个都可以。
C:\sdk\android-sdk-windows\platform-tools
C:\sdk\android-sdk-windows\tools
旧版本是以% 开头的,如下图, 在最前面直接增加这段代码: %ANDROID_HOME%\platform-tools;%ANDROID_HOME%\tools;
cnd输入 adb version 是否安装好了,出现版本号则说明安装成功。
第四步:配置真机环境
注意:这里建议使用木木模拟器(我使用过多个模拟器,木木模拟器能让你避开很多坑),当然也可以用真机(不建议用自己的手机,会把自己手机弄得一团糟)
连接方式的话,手机就用USB连接(要注意,有些数据线是不支持连接的)。不建议用WIFI。
这里用木木模拟器讲解,打开模拟器的USB调试功能,如果不知道怎么打开百度一下
注意:如果你使用的是OPPO手机,则需要打开(OEM解锁)和(禁止权限监控),如下图。如果不打开后续运行时会拦截appium命令执行从而报错。
然后在cmd输入命令:adb connect 127.0.0.1:7555 这个命令来连接电脑。(127.0.0.1是电脑的主机地址,7555是木木模拟器的专属端口,每一个模拟器的端口都不一样,可以自行网上查)
再输入:adb devices 命令, 检查一下是否连接成功
如果是真机,先用数据线连接手机和电脑, 查看电脑硬盘是否出现手机驱动标识。如下图,如果没有出现,一般有三种情况,一是数据线不支持数据传输,更换数据线即可;二是电脑接口不支持,换个电脑接口重新插一下数据线;三是驱动没识别到,在电脑和手机下载一个(互传),尝试使用(互传)连接,调起驱动就行可以了(要注意,调起驱动后要把互传退出,否则后续步骤就会报错)。
第五步:安装appnium
打开下载网址:http://appium.io/ 选择exe或zip文件下载都行,建议exe下载,方便。
华丽的分割线~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
下载完成后点击exe程序运行
安装完成后打开appium,会得到下图。主机、端口默认不用修改。
点击(编辑配置)
第一个输入 Android sdk的安装路径, 第二个输入java sdk的安装路径, 点击(保存并重新启动)
点击(启动服务)
小技巧:这里可以切换语言
操作完以上场景后,自动化环境就搭建好了。如何验证呢?可以看该篇文章:https://www.cnblogs.com/FBGG/p/16523044.html
但是还没结束,做app自动化需要对app应用元素进行定位,所以我们还需要安装元素定位工具。这里有三个工具可以用
第一个工具:UIAutomatorView(sdk自带的工具),不建议使用这个
第二个工具:Appium Inspector(这个工具是appium server提供的一个工具)建议使用
第三个工具:Weditor(UIautomator2 python第三方库 appUI自动化测试框架)这个也建议使用
第一个:UIAutomatorView,这个是android SDK自带元素定位工具,无需下载。怎么使用呢?
打开android SDK安装路径,进入tools,在目录最下面有一个 uiautomatorviewer.bat 这个就是工具
打开 uiautomatorviewer.bat ,使用之前需要连接手机
得到下图说明成功。但是不建议使用这个工具,界面丑,元素信息少。
第二个元素定位工具:Appium Inspector(这个工具是appium server提供的一个工具)
下载地址:https://github.com/appium/appium-inspector/releases
下载完成之后,双击傻瓜式安装就行了 。下图是安装完成之后的图标
因为是这个工具是和appium server 关联的,所以要先启动appnium server
然后再启动Appium Inspector
安装下图来配置Appium Inspector参数。
"platformName": "Android"。 设备类型,安装就填Android ,苹果就填ios
"appium:deviceName": "c84b98fd"。设备名:在cmd输入:adb devices 就可以看到你的设备名。 如果是模拟器, 需要使用命令:adb connect 127.0.0.1:62001来连接设备,再输入adb devices就可以看到连接的设备了
"appium:appPackage": "com.tencent.mobileqq"。要操作的APP应用包名(下面有介绍怎么用,app包名获取命令:aapt dump badging "app包的路径" | findstr package)
"appium:appActivity": ".activity.SplashActivity"。app应用程序主入口。(下面有介绍怎么用,app主程序入口命令:aapt dump badging app包的路径 | findstr activity)
"appium:noReset": true。这个的意思是,每次启动程序, 不清空缓存。(拿微信程序来操作的小心了,这个一定要填写, 否则你微信里面的东西全部不见了)
app包名获取方法:
打开CMD,进入SDK的 C:\sdk\android-sdk-windows\build-tools\30.0.0-preview 路径,如下图
如果不会cmd命令可以从文件夹进入,然后在文件上方输入cmd即可进入
然后输入命令:aapt dump badging app包的路径 | findstr package
可以先输入:aapt dump badging ,然后将apk托入cmd窗口,然后再将管道命令附上去 | findstr package,回车就可以得到包名
主程序入口获取方法: aapt dump badging app包的路径 | findstr activity
填写完信息,点击“保存”。 自己起个名字, 然后点击“启动会话”
上面这个工具,还是不建议使用,原因,没有下面这个工具完美。
第三个工具:Weditor(UIautomator2 python第三方库 appUI自动化测试框架)
安装:
cmd命令01:pip install UIautomator2
cmd命令02:python -m uiautomator2 init 。(如果是模拟器,执行时如果报这个错误: No module named uiautomator2 , 解决办法:先执行命令adb connect 127.0.0.1:62001连接上设备后再执行命令。)
cmd命令03:pip install weditor
检查是否安装是否成功,cmd命令:weditor --help 。 出现下图提示则说明安装成功。
如果提示:(“weditor”不是内部或外部命令,也不是可运行的程序或批处理文件), 则直接在pycharm中直接安装weditor模块
都安装完成之后,启动weditor,cmd输入命令:weditor或python -m weditor 来启动服务。
然后等一下会得到如一下界面。操作一下界面之前,需要检查一下设备是否连接,输入adb devices,如果没有连接输入adb connect 127.0.0.1:62001连接设备在启动weditor
工具使用后续介绍,建议使用第三个工具。
坑、经验:
对于小白的我而言,就搭建环境而言, 这个花费了我两天时间, 过程中遇到的问题太多太多, 归根结底原因就是环境搭建需要很多步骤, 而且网上很少有完整的教程,凑起来的教程不在同一个时期,会踩到狠多坑。建议各位参考资料时,看一下发布日期。
安装过出现的问题以及解决方法:
入坑1: 无法验证“apks/appium-UIAutomator2-Server-V4.15.0.apk”的签名。 解决方法:卸载重新安装手机里的Appnium Settings
入坑2: 报以下图错误。 解决方法:java8 已经不适用了, 需要更新java 8以上的版本。 最好更新到java 16。
入坑3: 出现下图问题,程序入口名不对,或者这个app不支持。 试着换一个app试试
入坑4:模拟器连接时,如果出现下图情况,解决方法:请将SDK的platform-tools文件夹中的adb.exe复制出来,将它粘贴到模拟器bin目录中,并改名为“nox_adb.exe”, 模拟器本身就有一个“nox_adb.exe”, 将它删掉。重启模拟器,appnium连接模拟器就不会断开了。
入坑5:环境搭建过程中电脑不能安装杀毒软件,类似360、电脑管家都不行,还有把连接软件(互传、应用宝等)也要关掉,否则安装过程会报错。