一、appium简介
appium是由“application”和“selenium”组成的合成词,即指的是`移动端`的selenium自动化测试工具,appium客户端在selenium的基础上进行了简单的扩展,如安装/卸载app等操作,因此在移动平台进行自动化测试时,需要安装appium特定的客户端,而不是通用的selenium客户端。appium支持如下应用:
- iOS和android平台上的原生应用:指那些用iOS或者android sdk 开发的应用app;
- web应用:指可以使用移动浏览器(如iOS上的safari和android上的Chrome)访问的应用;
- 混合应用:指用原生代码封装网页视图,原生代码和web内容交互的应用;
二、环境配置
1.选择一门编程语言安装,如python,Java等;
2.安装appium client:https://github.com/appium/python-client
3.安装appium server
4.准备一台iOS或android真机,或是一个android模拟器
备注:appium采用Client/Server的设计模式。只要client能够发送http请求给server,那么的话client用什么语言来实现都是可以的
三、工作原理
1.在MAC/Windows平台上,通过Python(python-client )编写了一个appium自动化脚本并执行;
2.请求会首先到 appium.dum /appiumForWindow.zip(MAC/Windows下的appium-Server),appium-Server通过解析,驱动iOS/android设备来执行appium自动化脚本
四、启动APP参数配置
coding:utf-8 #设置编码格式
# 引入appium库中和webdriver包
from appium import webdriver
# 定义一个desired_caps字典来保存启动APP所需的那5个参数
desired_caps = {'platformName': 'Android',
'platformVersion': '9',
'deviceName': 'S2D7N19122011932',
'appPackage': '**',
'appActivity': '**',
}
# 通过webdriver包下面的Remote方法打开App
driver = webdriver.Remote('http://127.0.0.1:4723/wd/hub', desired_caps)
#基本元素定位方法
#点击进入登录页
driver.find_element_by_id("**").click()
# description:登录页,点击账号/密码/登录
button_qq=driver.find_element_by_id("**").click()
driver.find_element_by_id("**").send_keys("**")
driver.find_element_by_id("**").send_keys("**")
driver.find_element_by_id("**").click()
#点击开始使用
driver.find_element_by_id("**").click()
#点击确定进入APP
driver.find_element_by_id("**").click()