1.自动化工具的选择
.
2.Appium--是一个移动端的自动化测试框架,可用于测试原生应用,移动网页应用和混合应用。且可以跨平台,跨语言。底层多引擎,上台丰富,社区强大
3.Android 常用引擎 :espresso ,Uiautomator2
4.Appium的设计理念(客户端,appium server端,被测设备)。在这里我以几个图片来代表
客户端发出请求给appium server端(基于http协议,且第一次建立session,通过post发送json),appium server在接收的同事转发给手机端,手机端接收完以后进行整套的自动化的处理,包括用例识别操作等,把结果返回给appium server端,appium server再返回给客户端
5.appium的生态工具
(1)adb:Android的控制工具,用于获取 Android 的各种数据和控制
(2)Appium Desktop :内嵌appium server和inspector的综合工具
(3)Appium Server:appium的核心工具,命令行工具
(4)Appium client:各种语言的客户端封装库,用于连接appiumserver,python,java,ruby等
(5)AppCrawler 自动遍历工具
6.appium的安装(需要的环境)
(1)java 1.8以上版本 (支持手机端)
(2)Andrioid sdk (支持手机端)
(3)Node js(>=10版本) npm (>=6版本) (支持appium server端)
(4)python3
(5)appium-desktop (支持appium server端)
appium-desktop(appium server+appium inspector工具)。可在官网下载
如果不需要appium inspector,也可通过npm安装appium
npm install -g appium(官网安装,但是不推荐。国外网站太慢)
npm install -g cnpm --registry= https://registry.npm.taobao.org(推荐)
cnpm install -g appium
cmd运行appium不报错即为成功
(6)Appium python client (安装命令 pip instll appium-python-client) (支持客户端)
7.检验环境
(1)安装cnpm install appium-doctor
(2)appium-doctor会检验所需环境是否所有的都已安装
8.运行测试用例
(1)打开appium desktop ,点击start server不报错 (appium-desktop ,提供界面化的工具)
(2)准备真机或者是模拟器,链接到设备,在这里我使用的是momo模拟器 (设备)
(3)编写测试用例,运行脚本 (客户端。依赖于Appium python client提供的脚本)
from appium import webdriver
desired_caps={}
desired_caps['platformName']='Android'
desired_caps['platformVersion']='6.0'
desired_caps['deviceName']='emulator-5554'
desired_caps['appPackage']='com.android.settings'
desired_caps['appActivity']='com.android.settings.Settings'
driver=webdriver.Remote('http://localhost:4723/wd/hub',desired_caps)