• Appium入门示例(Java)


    一、环境准备

    见我另一篇文章:http://www.cnblogs.com/sunny-sl/p/6519604.html

    二、使用Eclipse直接创建案例工程

      1、打开Eclipse,【File】-->【New】-->【Project】

      2、选择【Java Project】-->【Next】

      3、输入工程名称Appium_demo,点击【Finish】

      4、右键点击工程 New-Folder,新建两个文件夹:apps和libs,目录结构如下:

         

    三、导入测试的类库

      1、导入Selenum类库:http://docs.seleniumhq.org/download/

        1) selenium-server-standalone-2.44.0.jar

        2) selenium-java-2.44.0.zip

      2、导入Appium类库:

        1) java-client-1.2.1.jar 

      3、右键点击工程空白处,选择【Build Path】-->【Configure Build Path】 

    、下载测试APK 

      1、下载测试的文件ContactManager.apkhttps://github.com/appium/sample-code/tree/master/sample-code/apps/ContactManager

      2、将下载的apk放到项目的apps目录下 

    五、建立package包和案例文件

      1、在src文件夹上右键单击,【New】-->【package】,输入包名:com.dan.demo,点击【Finish】

      2、在package下新建类:Demo1.java,如下:  

     1 package com.dan.demo;
     2 
     3 import java.net.MalformedURLException;
     4 import java.net.URL;
     5 import java.util.List;
     6 import java.util.concurrent.TimeUnit;
     7 
     8 import org.openqa.selenium.By;
     9 import org.openqa.selenium.remote.DesiredCapabilities;
    10 
    11 import io.appium.java_client.android.AndroidDriver;
    12 import io.appium.java_client.android.AndroidElement;
    13 
    14 public class Demo1 {
    15 
    16 public static void main(String[] args) throws Exception {
    17 AndroidDriver driver;
    18 DesiredCapabilities cap=new DesiredCapabilities();
    19 cap.setCapability("automationName", "Appium");//appium做自动化
    20 //    cap.setCapability("app", "C:\software\jrtt.apk");//安装apk
    21 //    cap.setCapability("browserName", "chrome");//设置HTML5的自动化,打开谷歌浏览器
    22 cap.setCapability("deviceName", "S4");//设备名称
    23 cap.setCapability("platformName", "Android"); //安卓自动化还是IOS自动化
    24 cap.setCapability("platformVersion", "4.4"); //安卓操作系统版本
    25 cap.setCapability("udid", "192.168.56.101:5555"); //设备的udid (adb devices 查看到的)
    26 cap.setCapability("appPackage","com.android.calculator2");//被测app的包名
    27 cap.setCapability("appActivity",".Calculator");//被测app的入口Activity名称
    28 cap.setCapability("unicodeKeyboard", "True"); //支持中文输入
    29 cap.setCapability("resetKeyboard", "True"); //支持中文输入,必须两条都配置
    30 cap.setCapability("noSign", "True"); //不重新签名apk
    31 cap.setCapability("newCommandTimeout", "30"); //没有新命令,appium30秒退出
    32 driver = new AndroidDriver(new URL("http://127.0.0.1:4723/wd/hub"),cap);//把以上配置传到appium服务端并连接手机
    33 driver.manage().timeouts().implicitlyWait(10, TimeUnit.SECONDS);//隐式等待
    34 //通过resource name定位元素
    35 driver.findElement(By.name("1")).click();
    36 driver.findElement(By.name("+")).click();
    37 driver.findElement(By.name("1")).click();
    38 driver.findElement(By.name("=")).click();
    39 }
    40 
    41 }

    、 启动Android模拟器(也可以连接真机)

      1、cmd输入:android avd,选择模拟器,点击【Start】即可。

      2、启动好后,cmd输入:adb devices,确定设备是否连接上,如下图连接成功:

           

    七、 启动Appium

      方法一:cmd输入:appium

      

      方法二:

      1、直接双击appium gui图标(如下图):

      

      2、点击右上角的启动按钮,启动日志如下:

      

    八、 运行测试案例:

    1、在eclipse中,项目右键>【Run As】>【JUnit Test】

    2、appium运行结果:

     

  • 相关阅读:
    AsyncTask 处理耗时操作&&显示进度条
    AutoCompleteTextView 自定义提示样式
    Android:Error:Execution failed for task ':app:clean'. > Unable to delete directory
    MaterialRefreshLayout+ListView 下拉刷新 上拉加载
    element table 表格 修改背景为透明并去除边框
    vue-element-admin 多层路由问题
    SQLServer 语句相关
    润乾报表
    v-charts
    sql 循环 ,随机数,循环插入一年数据
  • 原文地址:https://www.cnblogs.com/sunny-sl/p/6520465.html
Copyright © 2020-2023  润新知