设为首页 收藏本站
查看: 866|回复: 0

[经验分享] appium java 环境搭建

[复制链接]

尚未签到

发表于 2017-2-23 09:32:17 | 显示全部楼层 |阅读模式
  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
DSC0000.png

  并在path添加";%ANDROID_HOME%\platform-tools"
  验证 appium:在命令行输入appium-doctor,如果结果如下,证明 环境搭建成功
DSC0001.png

  接下来可以在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)
DSC0002.png

  若执行case,首先在启动一个本地的Android模拟器
  然后在命令行输入:appium
  等待命令行出现以下提示:
DSC0003.png

  然后run as testng test
  大功告成
  相关资料: ContactManager.apk 下载地址:http://pan.baidu.com/s/1i3KlNrZ
  java-client 2.2 : http://pan.baidu.com/s/1pJ7Opsv
  selenium standalone 4.6:http://pan.baidu.com/s/1qWE7SD2

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-345995-1-1.html 上篇帖子: 将博客从jekyll迁移到了hexo 下篇帖子: 常用 Gulp 插件汇总 —— 基于 Gulp 的前端集成解决方案(三)
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表