手机app自动化测试如何实现,app自动化测试工具有哪些
1.应用程序自动化测试框架的比较
跨应用:比如你想一边测试Tik Tok,一边测试微信。
混合:混合应用程序
二:Appium自动化测试框架
http://appium.io/,官方网站
优势:
1:跨架构,支持原生、混合和web移动应用
2.跨平台,安卓系统
3:跨语言,Java,Python,Ruby
下载:
我在这里翻翻羌下载的。
这是安装打开后的东西。
当然下载这个还不够,还要配置JDK、eclipse、仿真器、Android SDK(我直接用android studio)。
傻毛巾内置的adb和SDK的adb可能会有冲突。你可以把SDK的adb换成傻毛巾(我没这么做)。
复制SDK里的东西,把名字改成这个,然后粘贴进去。
App客户端下载:https://github.com/appium/java-client
三。Appium组件
Appium Server:实际上是一个web界面服务器,由node.js实现
Appium GUI:前身Appium GUI:Appium Desktop,目前已停止维护。打包的Appium服务器是1.4.16(不推荐)
AppiumDesktop: Appium Server是嵌入式的,提供了GUI界面(就是我上面下载的那个,集成了node.js,所以不需要安装node.js)
Appium客户端:客户端向Appium服务器发送请求,可以用不同的语言实现,比如Java。
四:基本配置
让我们简单看一下。
简单配置(简单)
高级配置(高级)
预设(预设配置)
我将在这里配置一个
这是安卓测试
运行,因为appium在本地工作,所以是127.0.0.1,默认监听端口是默认的。
最后一行显示appium工作已经开始
第五,打开探测会话。
这是启动测试应用程序所需的一些信息。appium主要用于检测app的元素信息。
我用一个愚蠢的毛巾模拟器。
DeviceName 127.0.0.1:62001,所以以这种方式填写以找到测试设备。
已确认平台,如Android或IOS
PlatformName Android确定测试的app,也就是包。
如何查询?这样就可以进入sdk,路径(我的是Android Studio):E: Android-Studio-Bundle-145.3276617-Windows SDK Build-Tools 24 . 0 . 2。
选择上面的地址并输入cmd。
输入这些内容后,比如我想测试Tik Tok,找到apk拉进来就行了。它将帮助您填写apk的路径并按回车键。
这是包的名字(其实之前亚行也可以查)
package com . ss . Android . ugc . awe me启动应用,要添加这个app的入口,上面那里也可以找到,但是我看Tik Tok的时候没看到。
如微信所见。
也可以用这个方法,模拟器启动这个app,命令行输入
adb shell dumpsys window w findstr / findstr name=
(方法很多,可以去百度看看)app activity com . ss . Android . ugc . awe me . splash . splash activity
看一看,没有问题就保存,下次就不用再输入了。
你可以在这里看到。
然后报告了一个错误,这可能意味着环境变量有问题。
查看日志:
因为我用的是android studio的sdk,之前配置adb的时候也得到这个。
e: Android-studio-bundle-145.3276617-windows SDK platform-tools
这里需要改造。
给系统变量加一个环境变量,就是这个名字,这样appium就能识别了(如果java识别不了,也可以改成JAVA_HOME这个名字)
将这两个添加到路径中。
% ANDROID _ HOME % 平台工具;% ANDROID _ HOME % tools
在这里,恐怕亚行会失败。我来测试一下有没有问题,没发现问题。
重启appium,发现识别成功。
回到之前的操作,发现又报错了。
查看日志,这就出现了。
错误:pkg:/data/local/tmp/app ium _ cache/7280876 e 456 C1 bb 793964772 b5 BC B2 AC 96 ECF cc 4 . apk
尝试代理没有会话id的会话命令
找不到“apksigner.jar”
装了这个之后发现这个问题没了:找不到 apksigner.jar
所以我看了最新的日志。
[2020-06-17 03:18:09][ADB]安装命令stdout:pkg:/data/local/tmp/app ium _ cache/7280876 e 456 C1 bb 793964772 b5 BC B2 AC 96 ECF cc 4 . apk[2020-06-17 03:18:09][ADB]失败[Install _ PARSE _ FAILED _ NO _ CERTIFICATES][2020-06-17 03:18错误为:未知错误:处理命令时出现未知的服务器端错误。原始错误:尝试代理没有会话id的会话命令[2020-06-17 03:18:09][ADB]运行“E: Android-studio-bundle-145.3276617-windows SDK platform-tools ADB . exe-P 5037-s 127 . 0 . 0 . 1 :62001 shell am force-stop com . Tencent . mm”时遇到内部错误运行命令:错误:pkg:/data/local/tmp/app
发现同样的问题还是存在,于是查了半天,突然想到自己的appium软件是最新版本,就想知道有没有变化。
于是我翻墙往这个方向查(太难了,英语过不了),终于找到问题了。
我的傻毛巾模拟器安卓版本是5.1.1,一般用的是UIAutomator1,一些较新的安卓系统可能会用UIAutomator2。不知道UIAutomator2是不是1.7以后appium的默认,所以加了这个配置。
automationName UiAutomator1
然后跑完之后发现报错不一样了。现在我报告这个错误。
运行命令时遇到内部错误:错误:在百度翻译的设备上找不到包com.tencent.mm。应该是我的微信包没有安装在模拟器上。你可以直接把包拉进模拟器安装。
但是不知道为什么,我的微信安装不了,就用adb命令安装,也安装不了。
所以算了,装个Tik Tok试试吧,操作没问题(可以调Tik Tok app运行)
看一下日志没问题。
附加:我在踩坑的过程中也是用这些来查的。当然不知道有没有前效。
(1)安装appium-doctor
它用于检测环境,使用NPM-Registry3358Registry.npm.taobao.org安装appium-doctor-g
看起来没问题。
(2)Python库安装
pip安装appium-python-client
核实一下
也可以在pycharm工具中直接从app进入(此时有提示,表示安装成功)。