Appium(JAVA)Windows 7系统搭建及示例运行

Appium(JAVA)Windows 7系统搭建及示例运行

分类: Appium

1、搭建Android环境

http://blog.csdn.net/jlminghui/article/details/39582895

注:需要设置系统变量“ANDROID_HOME”。


 

2、安装Node.js

http://www.nodejs.org/download/

下载相关操作系统的版本

技术分享

安装过程,一路“Next”。


3、安装Appium

(1)下载地址:http://appium.io/ 下载完毕后解压到pc本地,将压缩包里有appium.cmd文件的路径设置到环境变量path中。

技术分享

(2)进入命令行,输入appium-doctor 

技术分享


另外也可在线安装(可选,网络不好还是选上面的好些)

(1)进入命令行

(2)输入命令:npm install -g appium

注:FQ下载比较靠谱

(3)等待更新完毕

(4)安装后验证:appium-doctor


4、创建虚拟机或使用实际设备

创建一个4.4.2的虚拟机

不熟悉这块的朋友参考:http://blog.csdn.net/jlminghui/article/details/39582895


5、创建Java工程(Eclipse)

(1)导入Selenium类库

http://selenium-release.storage.googleapis.com/2.44/selenium-java-2.44.0.zip

http://selenium-release.storage.googleapis.com/2.44/selenium-server-standalone-2.44.0.jar

(确认2014.11.14有效,如无效请访问http://docs.seleniumhq.org/download/ 进行下载 )


注:需要导入两个,一个是客户端,一个是服务端,服务端库不导入会导致运行时报错。

(2)导入Appium类库

https://search.maven.org/remotecontent?filepath=io/appium/java-client/1.2.1/java-client-1.2.1.jar 

(确认2014.11.14有效,如无效请访问http://appium.io/downloads.html  进行下载 )

注:此处如果选择下载最新的2.0以上的版本,会导致编译newAppiumDriver时报错。解决办法见:

http://blog.csdn.net/zhubaitian/article/details/39717889 


技术分享


6、运行Appium示列


(1)下载示例程序

https://github.com/appium/sample-code/tree/master/sample-code/apps/ContactManager

上面链接中下载并将该apps放到当前项目的apps目录下(目录自行创建)

技术分享

(2)下载示例程序测试

地址:https://github.com/appium/sample-code/tree/master/sample-code/examples/java/junit/src/test/java/com/saucelabs/appium

java文件为“内容经过更改如下

  1. package com.Demo;  
  2.    
  3. import io.appium.java_client.AppiumDriver;  
  4. import org.junit.After;  
  5. import org.junit.Before;  
  6. import org.junit.Test;  
  7. import org.openqa.selenium.By;  
  8. import org.openqa.selenium.WebElement;  
  9. import org.openqa.selenium.remote.CapabilityType;  
  10. import org.openqa.selenium.remote.DesiredCapabilities;  
  11.    
  12. import java.io.File;  
  13. import java.net.URL;  
  14. import java.util.List;  
  15.    
  16. public class AppDemo {  
  17.     private AppiumDriver driver;  
  18.    
  19.     @Before  
  20.     public void setUp() throws Exception {  
  21.         // set up appium  
  22.         File classpathRoot = new File(System.getProperty("user.dir"));  
  23.         File appDir = new File(classpathRoot, "apps");  
  24.         File app = new File(appDir, "ContactManager.apk");  
  25.         DesiredCapabilities capabilities = new DesiredCapabilities();  
  26.         capabilities.setCapability(CapabilityType.BROWSER_NAME, "");  
  27.         capabilities.setCapability("platformName", "Android");  
  28.         capabilities.setCapability("deviceName","Android Emulator");  
  29.         capabilities.setCapability("platformVersion", "4.4");  
  30.         capabilities.setCapability("app", app.getAbsolutePath());  
  31.         capabilities.setCapability("appPackage", "com.example.android.contactmanager");  
  32.         capabilities.setCapability("appActivity", ".ContactManager");  
  33.         driver = new AppiumDriver(new URL("http://127.0.0.1:4723/wd/hub"), capabilities);  
  34.     }  
  35.    
  36.     @After  
  37.     public void tearDown() throws Exception {  
  38.         driver.quit();  
  39.     }  
  40.    
  41.     @Test  
  42.     public void addContact(){  
  43.         WebElement el = driver.findElement(By.name("Add Contact"));  
  44.         el.click();  
  45.         List<WebElement> textFieldsList = driver.findElementsByClassName("android.widget.EditText");  
  46.         textFieldsList.get(0).sendKeys("Some Name");  
  47.         textFieldsList.get(2).sendKeys("[email protected]");  
  48.         driver.swipe(100, 500, 100, 100, 2);  
  49.         driver.findElementByName("Save").click();  
  50.     }  
  51. }  


(3)启动android4.4.2虚拟机

(4)命令行启动后输入:appium

技术分享

(5)项目右键>“Run As”>“JUnit Test”(选择Eclipse JUnit Launcher)


       以上步骤确认可以运行成功,但由于笔者也是刚接触Appium,可能存在遗漏,也请大家帮忙指出,另外也可以使用maven和相关Eclipse插件会更方便些,网上例子很多可自行查找。

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。