zoukankan      html  css  js  c++  java
  • Appium TestNg Maven Android Eclipse java简单启动实例

    1. 环境准备
      Eclipse + maven + appium + TestNg
      确保已经在Eclipse 上面安装maven TestNg的插件

      打开Eclipse,新建一个java项目,把项目转换成maven,之后修改Pom 文件
      新建一个java项目
      这里写图片描述

      转换成Maven项目
      这里写图片描述

      点击finish,完成
      这里写图片描述

      修改Pom.xml 文件,添加dependency 依赖

        <dependencies>
              <dependency>
                  <groupId>org.testng</groupId>
                  <artifactId>testng</artifactId>
                  <version>6.1.1</version>
                  <scope>test</scope>
              </dependency>      
      
              <dependency>
                  <groupId>org.seleniumhq.selenium</groupId>
                  <artifactId>selenium-java</artifactId>
                  <version>LATEST</version>
              </dependency>
      
              <dependency>
                  <groupId>io.appium</groupId>
                  <artifactId>java-client</artifactId>
                  <version>2.1.0</version>
              </dependency>
          </dependencies>
      
      </project>

      之后如图所示,jar包依赖成功
      这里写图片描述

      新建一个TestNg的类
      这里写图片描述

      在项目下新建一个apps文件夹,用来存放要测试的app
      这里写图片描述

      打开appium 把地址设置成本机的ip,端口可以用默认的
      这里写图片描述

      之后点击启动看到Debug,说明启动成功了
      这里写图片描述

      1. 代码实例
        编写TestNg类,代码如下
      package appiumDemo;
      
      import java.io.File;
      import java.net.MalformedURLException;
      import java.net.URL;
      
      import io.appium.java_client.android.AndroidDriver;
      import io.appium.java_client.remote.MobileCapabilityType;
      
      import org.openqa.selenium.remote.CapabilityType;
      import org.openqa.selenium.remote.DesiredCapabilities;
      import org.testng.Assert;
      import org.testng.annotations.AfterClass;
      import org.testng.annotations.BeforeClass;
      import org.testng.annotations.Test;
      
      
      public class NewTest {
      
          private AndroidDriver driver;
      
      
          //初始化参数,安装apk
          @BeforeClass
          public void setUp() throws Exception {
      
              // 设置启动的程序位置和程序的名字,安装的apk文件
                      File classpathRoot = new File(System.getProperty("user.dir"));
                      File appDir = new File(classpathRoot, "./apps");
                      File app = new File(appDir, "填写apk文件名字");    //例如apkName.apk
      
      
                      // 设置设备的属性
                      DesiredCapabilities capabilities = new DesiredCapabilities();
      
                      capabilities.setCapability(CapabilityType.BROWSER_NAME, "");
      
                      // 设置平台 Android
                      capabilities.setCapability("platformName", "Android");
      
                      // 设置设备的名称,真机或者模拟器的, 设备连接电脑,在命令行输入adb  devices  查看即可
                      capabilities.setCapability("deviceName", "");
      
                      // 设置Android系统的版本号,例如 4.3  4.4 
                      capabilities.setCapability("platformVersion", "");
      
                      // 设置apk文件的路径
                      capabilities.setCapability("app", app.getAbsolutePath());
      
                      // 设置apk的包名
                      capabilities.setCapability("appPackage", "");
      
                      // 设置main Activity,例如  .mainNmae.activity  记得带上点
                      capabilities.setCapability("appActivity","");
      
                      //waitActivity  ,如果启动成功,没有影响,可以不填写
                      capabilities.setCapability("appWaitActivity", "");
      
                      // 设置UNicode键盘支持中文输入,会默认的代替内置的键盘
                      capabilities.setCapability("unicodeKeyboard", "True");
                      capabilities.setCapability("resetKeyboard", "True");
      
                      try {
      
                          // 加载驱动,ip,填写相应的ip和端口  例如   http://172.16.11.120:4720
                          driver = new AndroidDriver(new URL("http://ip地址:端口/wd/hub"), 
                                                                                  capabilities);
      
                      } catch (MalformedURLException e) {
                          // TODO Auto-generated catch block
                          e.printStackTrace();
                      }
          }
      
      
          //启动成功后,会自动的安装apk,这个断言判断apk是否安装成功,修改包名为实际值
          @Test
          public void Test()
              //输出判断结果
              System.out.println("Result:"+driver.isAppInstalled("包名"));
      
              //判断是否安装成功
              Assert.assertEquals(driver.isAppInstalled("包名"), true, "安装失败");
          }
      
      
          //测试完成后,退出driver
          @AfterClass
          public void tearDown() throws Exception {
              driver.quit();
          }
      
      }
      
    事在人为,功不唐捐
  • 相关阅读:
    一位阿里架构师给每个程序员的小建议
    一位阿里架构师给每个程序员的小建议
    Redis五种数据类型详解
    Redis五种数据类型详解
    Redis五种数据类型详解
    JavaScript易错知识点整理
    JavaScript易错知识点整理
    JavaScript易错知识点整理
    船上比拼酒量_暴力破解
    phantomjs
  • 原文地址:https://www.cnblogs.com/xinleishare/p/4570138.html
Copyright © 2011-2022 走看看