Appium使用手册
appium简介
appium 是一个自动化测试开源工具,支持 iOS 和 Android 上的native,web和hybrid应用。appium库封装了标准Selenium客户端类库(JSON格式selenium命令)和额外的移动设备控制的命令(如多点触控)。
- 跨平台:支持使用同一套API来写不同平台的脚本(IOS、安卓、windows)。
- 多客户端语言:支持Java,Python,Ruby(不同的client)。
- 多运行环境:支持MAC,Linux,Windows(不同的server)。
appium框架原理

Appium Server
appium是基于C/S架构的。appium的核心是一个提供了rest api的webserver。appium server负责监听client的控制指令,传输到移动设备中,通过移动设备的内置库执行指令,执行后将指令执行结果返回给client。
Session
初始化session:client发送pos请求(带desired capabilities的json对象)给server。
使用session:通过sessionid在c-s之间传递指令。
Desired Capabilities
一组key-value(map,hash)的集合。用于告知server需要启动哪种自动化session,i.e. platform=ios,也可以在自动化过程中修改。
完整属性:http://appium.io/docs/en/writing-running-appium/caps/index.html
appium环境配置
appium脚本编写
1、初始化配置:Capability配置
##脚本初始化
public void setCapablities(){
capabilities.setCapability("platformName","Android");
capabilities.setCapability("deviceName","bd0cd0c4");
capabilities.setCapability("appPackage","com.eg.android.AlipayGphone");
capabilities.setCapability("appActivity","com.eg.android.AlipayGphone.AlipayLogin");
capabilities.setCapability("noReset",true);//重置应用状态
capabilities.setCapability("resetKeyboard",true); //支持中文输入
capabilities.setCapability("unicodeKeyboard",true);
}
2、Appium启停app
@Test
public void testStart() throws MalformedURLException {
setCapablities();
//此URL为模拟器默认地址
driver = new AppiumDriver(new URL("http://127.0.0.1:4723/wd/hub"),capabilities);
driver.closeApp();
driver.launchApp();
String source = driver.getPageSource();
System.out.println(source);
driver.quit();
}

浙公网安备 33010602011771号