Appium
是用于本机, 混合和移动Web应用程序的 开源测试自动化框架。它使用WebDriver协议驱动iOS,Android和Windows应用程序
WebDriver参考
W3C webdriver 协议 初读 W3C webdriver 协议 Selenium WebDriver的工作原理Appium支持的开发平台
操作系统 | 开发平台 |
---|---|
IOS | XCode w/ Command Line Tools |
Android | Mac OSX or Windows or Linux and Android SDK ≥ 16 |
Appium资源
官网 Github 资料 例子 二、测试环境
Appium
运行测试环境包括
Appium-Client
Appium-Server
移动设备
1. Appium-Client
客户端,开发者可以选择自己擅长的开发语言来写测试代码,我选择的是C#
,所以会在C#
项目的Nuget
包里引用Appium
Appium.WebDriver
2. Appium-ServerAppium-Server
通过接受Client
传递过来的指令,将指令发送给App
,驱动App
做出相应动作。Appium Desktop
内置Appium-Server
,并且支持控件识别,录制动作等功能,这里选择自己电脑支持的安装包
Appium-Desktop
3. 移动设备这里我们选择模拟器来代替真实移动设备,由于我的机器是Window系统,暂时只考虑使用安卓模拟器,我选择的是模拟器是原生的Android Emulator
,关于如何配置,我的开发IDE是Visual Studio 2019
, 其移动开发技术Xamarin
内置了Android的一些配置
需要在BIOS
中开启虚拟化技术
配置Win10解决VMware Intel VT-x虚拟化问题
如果配置成功,任务管理器会出现虚拟化已启用
需要开启模拟器硬件加速设置
通过硬件加速提高仿真器性能 (Hyper-V & HAXM)
2. Android Emulator配置 2.1 移动开发组件安装我使用Visual Studio 2019
来配置Android Emulator
,首先需要确保Visual Studio 2019
已经安装移动开发组件,Visual Studio Installer -> Mobile development with .Net
进入Visual Studio 2019
,打开Android
选项,首先配置Android SDK
选择Android
版本以及SDK Build Tools
安装好之后所有工具都在Android SDK
目录
C:\Program Files (x86)\Android\android-sdk
接下来,我们可以新建虚拟设备,打开Android Device Manager
,在里面新建自己需要的设备,我们可以在这里启动虚拟设备
首先需要编辑配置文件设置环境变量
配置Android SDK
和Java SDK
变量
配置好环境变量后启动服务,然后需要新建一个Inspector Session
在Desired Capbilities
选择,对于Android
而言有6个必需的参数,Appium
知道以下参数才能在虚拟设备中找到某个App
关于参数的名称,可以参考以下资料
Appium-Server与Appium-Desktop的区别
deviceName
的获取: 在Adroid Device Manager里启动虚拟设备后,这时虚拟设备在Window中就存在一个地址,这里使用adb工具获取该地址, 这里emulator-5554就是deviceName的值
“C:\Program Files (x86)\Android\android-sdk\platform-tools\adb.exe” devices
appPackage
和appActivity
的获取参考以下资料
appium测试之获取appPackage和appActivity
automationName
的设置,之前没有设置automationName
结果一直启动失败,后来参考这篇文章需要把automationName
设置为UiAutomator1
解决了问题
Python+appium自动化踩坑(二):Original error: The instrumentation process cannot be initialized. Make sure the application under test does not crash and investigate the logcat output.
四、测试案例 1. 启动Andriod Emulator首先我们在Visual Stuido 2019
的Android Device Manager
中启动一个虚拟设备
以虚拟设备里的拨号功能app
为例,我们这样设置Desired Capbilities
(有些参数根据自己的虚拟设备获取)
启动后可以看到虚拟设备中的拨号功能app
现在,Appium
关于Android
的测试环境已经成功搭建,接下就可以进行脚本编写以及测试了。从零搭建Android
测试环境对于一个没有移动端开发经验的人来说真的是很困难,好在这句话一直在支持着我,最后也成功解决了问题
只要思想不滑坡,办法总比困难多。