Appium java 环境搭建

发表于:2018-6-25 11:13

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:young    来源:博客园

  appium是一款open source 移动自动化测试框架,既支持Android 也支持IOS。
  appium 基于webdriver协议执行测试脚本。
  今天,如炒剩饭,介绍一下搭建appium Android环境
  需要:
  appium windows 版,目前版本为1.4  https://bitbucket.org/appium/appium.app/downloads/
  Android SDK ,自行下载
  selenium selenium-server-standalone-2.46.0.jar
  java-client
  Node js  Current version: v0.12.4     https://nodejs.org/download/
  首先,下载安装appium for windows,在环境变量path添加";C:\Program Files\nodejs;C:\Program Files (x86)\Appium\node_modules\.bin;"
  接下来 安装node js,安装完毕再环境变量path 添加安装路径“;C:\Program Files\nodejs”
  验证 node js:在命令行输入node -v,会输出v0.12.4
  然后安装Android SDK,并添加环境变量:ANDROID_HOME
   
  并在path添加";%ANDROID_HOME%\platform-tools"
  验证 appium:在命令行输入appium-doctor,如果结果如下,证明 环境搭建成功
   
  接下来可以在eclipse创建一个java project
  在project 新建apps的folder 把ContactManager.apk copy进去
  注意, 本文使用Testng,不是eclipse自带的junit,自行百度
  添加appium example:
   package com.dbyl.core;
  import org.openqa.selenium.By;
  import org.openqa.selenium.WebElement;
  import org.openqa.selenium.remote.CapabilityType;
  import org.openqa.selenium.remote.DesiredCapabilities;
  import org.testng.annotations.AfterMethod;
  import org.testng.annotations.BeforeMethod;
  import org.testng.annotations.Test;
  import io.appium.java_client.android.AndroidDriver;
  import java.io.File;
  import java.net.URL;
  import java.util.List;
  public class AppDemo {
  private  AndroidDriver  driver;
  @BeforeMethod(alwaysRun=true)
  public void setUp() throws Exception {
  // set up appium
  File classpathRoot = new File(System.getProperty("user.dir"));
  File appDir = new File(classpathRoot, "apps");
  File app = new File(appDir, "ContactManager.apk");
  DesiredCapabilities capabilities = new DesiredCapabilities();
  capabilities.setCapability(CapabilityType.BROWSER_NAME, "");
  capabilities.setCapability("platformName", "Android");
  capabilities.setCapability("deviceName","Android Emulator");
  capabilities.setCapability("platformVersion", "4.4");
  capabilities.setCapability("app", app.getAbsolutePath());
  capabilities.setCapability("appPackage", "com.example.android.contactmanager");
  capabilities.setCapability("appActivity", ".ContactManager");
  driver = new AndroidDriver(new URL("http://127.0.0.1:4723/wd/hub"), capabilities);
  }
  @AfterMethod(alwaysRun=true)
  public void tearDown() throws Exception {
  driver.quit();
  }
  @Test(groups={"addContact"})
  public void addContact(){
  WebElement el = driver.findElement(By.name("Add Contact"));
  el.click();
  List<WebElement> textFieldsList = driver.findElementsByClassName("android.widget.EditText");
  textFieldsList.get(0).sendKeys("Some Name");
  textFieldsList.get(1).sendKeys("10086");
  textFieldsList.get(2).sendKeys("Some@example.com");
  driver.swipe(100, 500, 100, 100, 2);
  driver.findElementByName("Save").click();
  }
  }


  如果,你看到一片报错,那就对了,说明相关依赖包并没有导入。
  这时候,你需要将以下2个jar 包import(selenium-standalone 和 java-client)
   
  若执行case,首先在启动一个本地的Android模拟器
  然后在命令行输入:appium
  等待命令行出现以下提示:
   
  然后run as testng test
  大功告成

上文内容不用于商业目的,如涉及知识产权问题,请权利人联系博为峰小编(021-64471599-8017),我们将立即处理。
《2023软件测试行业现状调查报告》独家发布~

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2024
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号