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();
}

  

 

 

 

posted @ 2020-07-16 13:22  QA大燕子  阅读(346)  评论(0)    收藏  举报