SDK环境部署,Appium集成环境
一.APP自动化框架比较
app类型:原生类型(Native)(找开发问),web类型(Web)(不需要安装,只要通过网址就可以访问),混合类型(Hybrid)
对于原生app:每一个元素控件部有一个红色的框框框起来
混合:多个元素控件在一个红色的框里
1,官方网址:http://appium.io/
2,跨架构,支持原生,混合以及web移动应用
3,跨平台,Android&IOS
4,跨语言,支持Java、Python,Ruby等
Appium组件介绍

二,Appium的工作原理

Client端:
一般来说就是运行代码的机器,即我们是用Java语言编写的代码,也可以用其他Selenium支持Python,ruby,C#等语言来编写,Appium提供的Appium-client API是Appium通过扩展Selenium的Webdriver协议而来的,我们编写代码的时只要实现Webdriver标准协议即可。
Appium Server:
Appium Server功能是监听接口,接收client端发送的command,然后将command转为移动端能够识别的command,然后发送给移动设备进行操作,再等待移动设备返回来的操作结果,将操作结果发送给client端。 Appium server是可以放在client端,也可以放在云端。 Appium server 默认的端口号是4723,用于Appium server监听client端的发送来的请求。
Android设备
Android端,Appium基于Webdriver协议,利用Bootstrap.jar,最后通过调用UIautomatior命令,实现APP的自动化测试(Android4.2以前的版本是用Instrumentation框架,通过绑定另外一个独立的selendroid项目来实现),Android4.2以后的版本是用UIautomator)。UIAutomator测试框架是Android SDK自带的APP UI自动化测试Java库,另外UIAutomator对H5支持有限,Appium引入了Chromedriver以及Safaridriver来实现H5的自动化。
在Android设备的工作过程:
1.Appium server将监听到的4723端口的指令,转发给中间件Bootstrap.jar,Bootstrap.jar是用Java编写的,安装在Android手机上;
2.Bootstrap监听4724端口并接收Appium server的指令;
3.Bootstrap再通过调用UIautomator的命令来实现具体的command操作。
4.最后Bootstrap将执行的结果返回给Appium server。

三.APP运行环境部署
3.1JDK安装&环境变量配置

3.2 Android SDK安装与变量配置


3.3 模拟器安装(有真机就跳过)

3.4 ADB配置

3.5 ADB连接模拟器

2.5.1 ADB连接模拟器-成功


解决:统一ADB版本即可。
四,APP自动化环境部署
4.1 App自动化运行环境
1. Appium服务端-Appium Desktop(桌面版的)
2. Appium客户端-appium-python-client
3. 脚本编写工具IDE-pycharm
4.2 Appium Desktop服务端
4.2.1. Appium Desktop下载地址:https://github.com/appium/appium-desktop/releases
4.2.2. 安装:默认安装
4.2.3. 服务启动
• 验证Appium Desktop是否安装成功,打开桌面的Appium应用,点击“Start Server
v1.13.0”,能够正确启动Appium服务则说明安装成功。
4.3.appium-python-client客户端
Python语言的Appium Client安装:appium-python-client
appiun-python-client是python语言版本的Appium库文件,在Python环境准备完成后,可以利用pip工
具进行安装
进入cmd命令行,输入安装命令:pip install appium-python-client
五,Appium Desktop介绍
5.1 Appium Desktop-基础配置
5.1.1 Appium Desktop的界面有三个选项卡
- 1. Simple:基础配置
- 2. Advanced:高级配置
- 3. Presets:预设配置
5.1.2 Simple:基础配置
- 1. Host:服务端的主机地址 • Appium客户端运行时,会通过该地址发送请求到Appium服务端,默认为0.0.0.0,代表Appium服 务端所有主机的所有IP
- 2. Port:服务端的主机端口 • 默认4732,Appium客户端与Appium服务端通过4732端口通讯
5.2 Appium Desktop-高级配置
- 1. General:常规选项,进行Android和IOS自动化测试时公共的设置项
- 2. IOS:仅包含用于IOS自动化测试的设置下
- 3. Android:仅包含用于Android自动化测试的设置下:这些选项并不要求强制设置,只有在少数情况下需要设置,所以不需要 的时候可以跳过
5.3 Appium Desktop-预设配置
1. 高级配置保存的信息会显示在这里
2. 在这里可以配置环境变量
5.4 服务启动界面
5.4.1 在Simple中输入服务器地址和端口后,点击StartServer即可启动服务,窗口会自动跳转到
服务端运行的日志屏幕界面。
5.4.2 在服务端的日志屏幕右上方,三个功能按钮的含义分别是:
- 1. 启动Appium的Inspector工具,进行移动应用的元素检测
- 2. 查看Appium的原始日志
- 3. 停止Appium的服务端的运行
六,Inspector工具配置与使用
6.1 Inspector工具
1,App元素探测工具有两个,一个是Appium Inspector,另一个是UIAutomatorViewer
2, Appium Inspector使用
1. 配置设备信息
2. 获取操作
6.2 Inspector工具配置Desired Capabilities
启动服务后,点击右上角的放大镜按钮,即可进入Appium Inspector界面
6.3 Desired Capabilities配置参数
deviceName | 设备名 IOS平台:instruments -s devices Android平台:adb devices |
platformName | 平台名称:IOS,Androi |
appPackage | 需要测试的APP包名 |
appActivity | 启动入口事件 |
platformVersion | 设备系统版本号 |
6.4 完成Inspector工具的Desired Capabilities配置
1,填入参数名和参数值,保存参数设置,然后点击start session启动配置
2,点击start session,查看能否启动成功,inspector工具出现app的界面就表示启动成功
6.5,Inspector工具界面介绍
1,界面部分:
1.左侧部分:待测试应用的界面截图,可以在截图中获取元素的属性信息
2.中间部分:待测试应用的界面原码,Inspector工具录制生成的代码也在这部分显示
3.右侧部分:展示界面中选中的元素属性信息,如果选中的部分是可交互的,这部分上
Ø 还有三个功能按钮可以使用,用于在Inspector工具中完成元素操作
• Tap:点击
• Send_keys:发送文本
• Clear:清空
2,Inspector工具功能介绍
Appium Inspector界面最上面,包括一些常用的功能按钮
1.选取元素,用于获取执行元素的属性信息
2.以坐标方式进行界面中的滑动操作功能
3.以坐标方式进行点击操作功能
4.返回功能,返回到上一级捕获的界面
5.刷新功能,重新连接移动测试设备,捕获设备中最新的界面信息
6.脚本录制功能,通过操作生成JS,Java,Python,Ruby等不同语言的脚本
7.界面元素搜索功能
8.复制XML源码功能
9.退出Inspector,关闭Inspector