第一章 认识Appium,环境搭建,实战开发登录自动化脚本(完成)
第二章 Appium 自动化功能参数设置和API学习(完成)
第三章 Appium 自动化项目工程,框架方法封装,自动化登录脚本实战(完成)
第四章 Appium 自动化对接robot framework,让自动化实现更高效(待更新)
第五章 Appium 自动化接入jenkins&自动化报告邮件,CI Run起来(待更新)
第六章 FQA(待更新)
第一章 认识Appium,环境搭建,实战开发登录自动化脚本
1.1 Appium 框架介绍
Appium是一个开源、跨平台的测试框架,可以用来测试原生及混合的移动端应用。Appium支持IOS、Android及FirefoxOS平台。Appium使用WebDriver的json wire协议,来驱动Android系统的UIAutomator框架。Appium也集成了Selendroid,来支持老android版本。Appium集成FaceBook的WDA在客户端实现一个WebDriver server,借助这个server远程控制iOS设备实现自动化。
1.1.1 Appium 框架原理
Appium 是在手机操作系统自带的测试框架基础上实现的,Android自带的UI自动化测试工具是“ UIAutomator”。
Appium框架原理如图1-1-1所示,由Appium Client客户端和Appium Server服务器两部分构成。
图1-1-1 Appium架构原理
图1-1-1含义解析如下:
1. 第1部分为Appium client(客户端):主要是测试脚本和Appium Client。
a. Appium Client:主要实现了Appium功能的WebDriver协议的Library(如python的:Appium-Python-Client)并负责与Appium Server通信。Appium Client 与Appium Server进行通信时会先发送一组Desired Capabilities(后面章节会详细介绍Desired Capabilities内容)的Json对象给Appium Server请求建立会话Session,Appium Server收到请求数据后就创建一个会话连接Session,并将该SessionId返给Appium Client(就是我们用到的driver)。然后自动化脚本命令都用这个SessionId(driver)来跟Appium Server发送命令。目前支持的Appium客户端Library有多种语言(Python,Ruby,Java,JavaScript,PHP,C#,Object C),本书就是基于Python来讲解。 没Python基础的伙伴可以边学习本书边学习python(后续我也会专门开一本《「手把手」学习Python》)。
b. TestScripts:自动化脚本(比如本书就是用的Python来编写自动化脚本)。
2. 第2部分为Appium Server(Appium服务器):Appium Server是一个基于Node.js实现的HTTP服务器,是Appium框架的核心。主要是接受Appium Client发起的连接,监听Appium Client发来的命令,并将命令发送给Bootstrap.jar(他就会在手机上面执行),然后将Bootstrap.jar执行返回的结果返回给Appium Client。
3. 第3部分为Bootstrap.jar:Bootstrap.jar是运行在手机上面的一个程序,该程序接收Appium Server发送过来的命令,并在测试手机上执行测试,然后把执行结果再返给Appium Server。Appium Server与Bootstrap.jar之间是通过TCP来通信,该通信由Appium Server发起建立。
4. 第4部分是什么呢,暂时不讲,后续会在「手把手」一起iOS自动化中专门讲。
1.1.2 Appium 框架特点
1. Appium Client 存在多种的语言实现,所以测试人员可以选择自己熟悉的语言来开发自动化脚本。
2. Appium框架支持多中应用程序的测试(可以用来测试原生及混合的移动端应用)。
3. Appium框架被测试的应用一般不需要特殊编译,一般情况可以直接拿来测试。
4. Appium框架可以跨平台,很多API可以同时用在Android和iOS(关于API后面章节会详细讲解)。
5. Appium框架是基于UI的测试框架,验证都是通过界面UI来进行(后面框架封装过程中我们可以接入接口和UI结合验证)。
1.2. Appium环境搭建
1.2.1 Android环境配置
1. 下载安装Android SDK(这个直接网上下载就可以了)。
2. 配置Android SDK环境变量:右击“我的电脑”,选择“属性”“高级系统设置”“环境变量”,在系统变量中添加“ANDROID_HOME”的变量,值为AndroidSDK的安装路径。如图1-2-1所示:
图1-2-1 Android SDK环境变量
1.2.2 Python环境安装及配置
1. 下载安装Python:进入https://www.python.org/downloads页面下载安装(我安装的是3.6.0)。
2. 配置python环境变量:右击“我的电脑”,选择“属性”“高级系统设置”“环境变量”,在系统变量中的“PATH”变量,值为Pthon的安装路径。系统命令窗口中输入 Python –V,正确显示版本号证明配置OK。如图1-2-2和1-2-3所示:
图1-2-2 python环境变量配置
图1-2-3 python环境变量验证
1.2.3 安装Appium客户端
1. 启动 一个命令行工具输入“pip install Appium-Python-Client”,命令行窗口提示安装成功则安装完成。
2. 在python开发工具中 from appium import webdriver 然后执行不报错则安装成功。如图 1-2-4所示:
图1-2-4 验证 Appium-Python-Client 安装成功