添加链接
link之家
链接快照平台
  • 输入网页链接,自动生成快照
  • 标签化管理网页链接

用最简单的话术,描述最难理解的问题。

【原理】:

用简单的话来说就是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

编辑系统的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调试功能,如果不知道怎么打开百度一下

如果是真机,先用数据线连接手机和电脑, 查看电脑硬盘是否出现手机驱动标识。如下图,如果没有出现,一般有三种情况,一是数据线不支持数据传输,更换数据线即可;二是电脑接口不支持,换个电脑接口重新插一下数据线;三是驱动没识别到,在电脑和手机下载一个(互传),尝试使用(互传)连接,调起驱动就行可以了(要注意,调起驱动后要把互传退出,否则后续步骤就会报错)。

第五步:安装appnium

打开下载网址: http://appium.io/ 选择exe或zip文件下载都行,建议exe下载,方便。

华丽的分割线~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

小技巧:这里可以切换语言

操作完以上场景后,自动化环境就搭建好了。如何验证呢?可以看该篇文章: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 这个就是工具

"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、电脑管家都不行,还有把连接软件(互传、应用宝等)也要关掉,否则安装过程会报错。