一、appium架构介绍
1、目前mobile自动化解决方案
Android测试框架
calabash-android
MonkeyTalk
Robotium
UiAutomator
selendroid
iOS测试框架
calabash-ios
Frank
UiAutomation
ios-driver
KeepItFunctional
自动化工具选择
支持单平台or多平台的测试的测试框架
同时支持Android和iOS的框架是:Calabash和Appium,它们都是第三方的开源的测试框架,稳定性一般
支持多设备同时测试的测试框架
任何版本、任何环境都能测试的测试框架
根据编程语言选择测试框架
满足项目需求的测试工具,是否需要二次开发
根据测试类型选择测试框架
功能性测试、稳定性、兼容性测试
根据稳定性选择测试框架
2、appium介绍
appium是什么?
一个移动端的自动化测试框架,可用于测试原生应用,移动网页应用和混合应用,支持iOS和Android。
原生应用:Android/sdk、ios系统自带组件开发出的应用
移动网页应用:可通过浏览器打开的应用,存在于网页上的,比如:百度、淘宝
混合应用:原生应用里面嵌套网页,比如微信小程序就是混合应用
推荐appium的原因?
跨语言
支持Java、Python、nodejs等,减少学习成本
跨平台
支持Android、iOS,可以使用同一套脚本测试两套平台的系统
支持Windows、Mac,可以去编写桌面程序的测试
底层多引擎可切换
可以开发引擎嵌入到appiun,完成项目需求的测试
现在使用的引擎
Android: espresso、uiautomator2
iOS:xcuitest
mac:mac driver
windows:windows driver
社区强大,查阅资料多
3、appium框架介绍
设计理念
执行流程
客户端发送请求给服务端,服务端接收到请求、处理后,转发给手机端,手机端接收到请求,处理一整套的自动化测试(包括用例的识别、操作),执行完毕会把结果返回给服务端,服务端再把结果返回给客户端。
客户端跟服务端第一次建立连接的时候,会创建一个session会话,这个会话会存在整个生命周期中,每一次交互都会带上session进行交互
客户端和服务端之间是一个http的连接,所以appiun server 可以放在任何服务器上,我们只需要客户端能通过http连接上appium server即可
appium 是由js开发的,必须安装nodejs环境
二、appium环境安装
1、appium生态工具-Android
adb:用于Android的数据和操作的控制
Appium Desktop:内嵌了appium server 和 insector(录制脚本)
Appium Server:命令行工具,为就客户端和手机端建立通讯
Appium client:各种语言的客户端封装库
通过appium编写的自动化框架AppCrawler,自动化遍历工具
2、安装步骤-Android
Java 1.8版本
Android sdk
Node js(>=10版本) npm(>=版本)
python3
appium-desktop(用于实现第一个录制脚本)(建议使用1.19版本)
Appium python client(实现python自动化脚本的编写)
安装JDK v1.8
官网下载地址:https://www.oracle.com/java/technologies/javase-downloads.html
环境变量设置
检查Java环境是否配置好
进入命令行,输入java -version,输出版本号即可
安装Android sdk
下载sdk
中文官网地址:http://tools.android-studio.org/index.php/sdk
下载之后需要手动更新(在readme里面有更新命令,进行更新)
配置环境变量
检查安装成功,在cmd输入adb,能找到即成功
安装appium-desktop v1.19
git安装路径:https://github.com/appium/appium-desktop/releases
如果不需要使用inspector,可以直接安装appium server
使用命令行安装cnpm :npm install -g cnpm --registry=https://registry.npm.taobao.org
使用cnpm安装appium:cnpm install -g appium
运行
输入appiun,能运行即可
安装Appium python client
pip install appium-python-client
安装appium-doctor检测appium的安装环境
命令:cnpm install apium-doctor
执行appium-doctor,会出现已安装的环境