转:Windows平台配置Appium+Java环境

时间:2022-05-19 07:43:36
1) 安装JDK
  下载地址:http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html
  安装:JDK安装很简单,按默认安装即可。
  配置环境变量:
  添加JAVA_HOME变量, 值:Jdk的安装路径,如:D:\Java\jdk1.7.0_45(只是例子,改成你的安装目录)
  添加CLASSPATH变量,值 .;%JAVA_HOME%\lib\tools.jar;%JAVA_HOME%\lib\dt.jar
  修改path变量,加上这句 %JAVA_HOME%\bin;
  检查JAVA环境是否配置好,进入CMD命令行,输入java或javac,可以看到好多的命令提示,说明成功了。
  2) 安装Node.js
  下载地址:https://nodejs.org
  安装:按默认安装即可,可以改变安装的路径。
  安装完成以后,检查Node版本安装是否成功:进入CMD,输入node -v, 可以看到版本号,说明成功了。
  3) 安装SDK和Android api
  下载地址:http://yunpan.cn/cV9RtJIQ9vd3v   访问密码:2c91 (只有win64)
  安装:压缩包直接解压到安装目录即可。
  配置环境变量:
  新建变量:ANDROID_HOME 值: D:\AutoTest\adt\sdk(只是例子,改成你的安装目录)
  修改Path值: %ANDROID_HOME%\tools;%ANDROID_HOME%\platform-tools
  进入SDK安装目录,运行SDK Manager.exe
  进入Tools—Options ,做如下设置。
  HTTP Proxy Server输入mirrors.neusoft.edu.cn
  HTTP Proxy Port 输入80
  并且选中 Force https:sources to be fetched using http…….
  最后点击close关闭setting弹窗
  3.  回到主界面选中你要安装的Android api版本,点击Install N package。如下图:
转:Windows平台配置Appium+Java环境
  4.  然后出现下面这个DLG,选“accept lisense”,将所有的都打勾勾,点击Install。
转:Windows平台配置Appium+Java环境
5.  进入安装阶段(可能略慢)
转:Windows平台配置Appium+Java环境
  4) 联网安装Appium
  安装:进入cmd命令行,输入:
  npm install –g appium 或者
  多等几分钟,日志输出可以看到appium的版本1.1.0及安装目录
  5) 检查环境
  启动并检查Appium:
  进入cmd命令行,输入appium
  出现以下提示:Welcome to Appium… 说明安装好了。
  检查依赖环境:
  进入cmd命令行,输入appium-doctor
  出现以下提示:All Checks were successful 说明所需环境全部安装成功。
  6) 安装Apache Ant (这一步可省)
  下载地址:http://ant.apache.org
  安装:解压缩到安装目录。
  配置环境变量:
  变量ANT_HOME 值:D:\AutoTest\ant-1.9.4(只是例子,改成你的安装目录)
  设置Path: %ANT_HOME%\bin;
  测试是否安装成功,进入cmd命令行,输入ant,如果没有指定build.xml就会输出:Buildfile: build.xml does notexist! Build failed
  7) 安装Apache Maven (这一步可省)
  下载地址:http://maven.apache.org/download.cgi
  安装:解压缩到安装目录。
  配置环境变量:
  变量M2_HOME 值:D:\AutoTest\maven-3.1.1(只是例子,改成你的安装目录)
  设置Path: %M2_HOME%\bin;
  测试Maven是否成功,运行cmd,输入mvn -version如果成功,则出现maven版本等环境信息。
  8) 安装Ecplise
  下载地址:http://www.eclipse.org/downloads
  安装:解压缩到安装目录。
  配置workspace:进入Eclipse安装目录,点击eclipse.exe。第一次启动会要求设置工程存储目录。比如:E:\workspace\
  9) 安装ADT Plugin
  在线安装:(速度较慢,也可用第二种离线安装方式。)
  打开Eclipse,菜单栏Help->Install New Software
  然后在弹出的窗口中,Work with的后面点击Add
  Name:Android
  Location:https://dl-ssl.google.com/android/eclipse/
  点击OK。
3.  选中列表出现的AD
  4.  T版本,按照提示安装。重启Eclipse生效。
  离线安装:
  下载地址:https://dl.google.com/android/ADT-23.0.6.zip
  打开Eclipse,菜单栏Help->Install New Software
  然后在弹出的窗口中,Work with的后面点击Add
  然后点击Archive,添加刚才下载的ADT-23.0.6.zip
  OK后,再写上一个名字,比如Android
  经过解析后,选中列表中出现的ADT版本,按照提示安装。重启Eclipse生效。
  10) 配置Appium client,Selenium
  下载地址:http://yunpan.cn/cVGaGYjF9mcgF   访问密码:2d90
  在Eclipse新建项目appium(示例名)步骤:File—New—点击Java Project—输入project name—点击finish
  进入前面设置的工程存储目录—appium文件夹下,比如:E:\workspace\appium
  新建lib目录,并把java-client-2.2.0.jar,selenium-java-2.43.1.jar,selenium-server-standalone-2.41.0.jar三个jar包丢在lib目录下。
  5.  返回Eclipse界面,右键appium刷新,直到显示lib目录。右键lib目录下的java-client-2.2.0.jar—Build Path—点击Add to Build Path
  其他两个jar包重复此步骤。
  11) 配置Junit或者TestNG(自己选个喜欢的吧)
  Junit安装:高版本Eclipse自带,不需要安装。
  TestNG在线安装:
  打开Eclipse,菜单栏Help->Install New Software
  然后在弹出的窗口中,Work with的后面点击Add
  Name:TestNG
  Location:http://beust.com/eclipse
  点击OK。
  6.  选中列表出现的TestNG版本,按照提示安装。重启Eclipse生效。
  12) Appium相关API文档
  Appium客户端部分方法:http://appium.io/slate/cn/master/?java#appium-客户端库
  Appium服务关键字:http://appium.io/slate/cn/master/?java#appium-服务关键字
  Appium元素定位与交互:http://appium.io/slate/cn/master/?java#元素定位与交互
  Selenium 官方API:https://selenium.googlecode.com/svn/trunk/docs/api/java/index.html?overview-summary.html
  13)  最后贴个小例子
1 package com.allinmd.android;
2
3 import org.junit.After;
4 import org.junit.Before;
5 import org.junit.Test;
6 import org.openqa.selenium.*;
7 import org.openqa.selenium.remote.CapabilityType;
8 import org.openqa.selenium.remote.DesiredCapabilities;
9 import io.appium.java_client.android.AndroidDriver;
10 import java.net.URL;
11 import java.util.concurrent.TimeUnit;
12
13 public class AndroidBrowserTest {
14     private WebDriver driver;
15
16     @Before
17     public void setUp() throws Exception {
18         DesiredCapabilities capabilities = new DesiredCapabilities();
19         capabilities.setCapability("automationName","Selendroid");             //自动化引擎
20         capabilities.setCapability("platformName","Android");                //手机os
21         capabilities.setCapability("platformVersion", "4.1.1");        //真机的Android版本
22         capabilities.setCapability("udid","94122ad8");                //物理机ID
23         capabilities.setCapability(CapabilityType.PLATFORM, "WINDOWS");        //使用的是windows平台
24         capabilities.setCapability("browserName", "Chrome");                //要启动的手机浏览器
25         driver = new AndroidDriver(new URL("http://127.0.0.1:4723/wd/hub"), capabilities);
26         driver.manage().timeouts().implicitlyWait(10, TimeUnit.SECONDS);
27     }
28
29     @After
30     public void tearDown() throws Exception {
31         driver.quit();
32     }
33
34     @Test
35     public void allinLogin() throws InterruptedException {        //登陆
36         driver.get("http://m.xxx.cn");
37         driver.findElement(By.xpath("html/body/section/div[1]/div[2]/a/div")).click();
38         driver.findElement(By.xpath(".//*[@id='allinLoginPage']/div[2]/div[1]/a[2]")).click();
39         driver.findElement(By.id("email")).sendKeys("test@smc.com");
40         driver.findElement(By.name("password")).sendKeys("111111");
41         driver.findElement(By.xpath(".//*[@id='loginBtn']")).click();
42     }
43 }