51Testing软件测试论坛

标题: Appium环境搭建 [打印本页]

作者: 悠悠小仙仙    时间: 2017-7-12 10:29
标题: Appium环境搭建
本帖最后由 悠悠小仙仙 于 2017-7-12 10:30 编辑

Appium环境搭建
注:appium安装到C盘,node.js安装到C盘
一、安装node.js
1、到官网下载node.js:https://nodejs.org/en/download/

[attach]107250[/attach]
2、获取到安装文件后,直接双击安装文件,根据程序的提示,完成nodejs的安装。
3、安装完成后,运行cmd,输入node –v,如果安装成功,会输出如下版本信息:

[attach]107251[/attach]
二、配置Android sdk环境
1、sdk环境配置
2、确保安装了 Level 17 或以上的版本 api
3、设置 ANDROID_HOME 系统变量为你的 Android SDK 路径
     F:\Program Files (x86)\Android\android-sdk

[attach]107252[/attach]
4、把 tools 和 platform-tools 两个目录加入到系统的 Path 路径里
    ;F:\Program Files (x86)\Android\android-sdk\platform-tools;F:\Program Files (x86)\Android\android-sdk\tools

[attach]107253[/attach]
三、安装手机驱动并测试连接真机
完成上述步骤以后,为了能够让手机连接到PC端进行真机测试。还需要安装测试手机对应的驱动程序。根据手机型号提前下载相应的离线驱动并安装,之后将手机与PC通过usb线相连。在cmd中输入以下命令,如果能够看到设备,则表示安装成功。

[attach]107254[/attach]
四、安装Appium
1.下载安装文件:https://bitbucket.org/appium/appium.app/downloads/
2.直接双击appium-installer.exe文件安装就好,桌面会生成一个appium的图标

[attach]107255[/attach]
3.把node_modules的bin目录放到系统的Path路径里
          C:\Program Files (x86)\Appium\node_modules\.bin

[attach]107256[/attach]
4.检查appium所需的环境是否OK:
进入cmd命令行,输入appium-doctor ,出现以下提示,All Checks were successful ,说明环境成功。

[attach]107257[/attach]
二、Appium入门实例(Java)
一、使用Eclipse直接创建案例工程
1、打开Eclipse,【File】-->【New】-->【Project】
2、选择【Java Project】-->【Next】
3、输入工程名称Appium_demo,点击【Finish】
4、右键点击工程 New-Folder,新建两个文件夹:apps和libs,目录结构如下:

[attach]107258[/attach]
二、导入测试的类库
1、导入Selenum类库:http://docs.seleniumhq.org/download/
    1) selenium-server-standalone-2.44.0.jar
    2) selenium-java-2.44.0.zip
2、导入Appium类库:
    1) java-client-1.2.1.jar

[attach]107259[/attach]
3、右键点击工程空白处,选择【Build Path】-->【Configure Build Path】

作者: 悠悠小仙仙    时间: 2017-7-12 10:36
本帖最后由 悠悠小仙仙 于 2017-7-12 11:40 编辑

三、下载测试APK
  1、下载测试的文件ContactManager.apk:https://github.com/appium/sample ... apps/ContactManager
  2、将下载的apk放到项目的apps目录下
四、建立package包和案例文件
  1、在src文件夹上右键单击,【New】-->【package】,输入包名:com.dan.demo,点击【Finish】
  2、在package下新建类:ContactsTest.java,如下:  
  下载地址:https://github.com/appium/sample ... om/saucelabs/appium
  1. package com.dan.demo;

  2. import io.appium.java_client.AppiumDriver;

  3. import io.appium.java_client.android.AndroidDriver;

  4. import io.appium.java_client.android.AndroidElement;

  5. import java.io.File;

  6. import java.net.URL;

  7. import java.util.List;

  8. import org.junit.After;

  9. import org.junit.Before;

  10. import org.junit.Test;

  11. import org.openqa.selenium.By;

  12. import org.openqa.selenium.WebElement;

  13. import org.openqa.selenium.remote.DesiredCapabilities;

  14. public class ContactsTest {

  15.     private AppiumDriver driver;

  16.     @Before

  17.     public void setUp() throws Exception {

  18.         // set up appium

  19.         File classpathRoot = new File(System.getProperty("user.dir"));

  20.         File appDir = new File(classpathRoot, "/apps");

  21.         File app = new File(appDir, "ContactManager.apk");

  22.         DesiredCapabilities capabilities = new DesiredCapabilities();

  23.         capabilities.setCapability("deviceName","4d1219502472216f");

  24.         capabilities.setCapability("platformVersion", "4.4");

  25.         capabilities.setCapability("app", app.getAbsolutePath());

  26.         capabilities.setCapability("appPackage", "com.example.android.contactmanager");

  27.         capabilities.setCapability("appActivity", ".ContactManager");

  28.         driver = new AndroidDriver<>(new URL("http://127.0.0.1:4723/wd/hub"), capabilities);

  29.         System.out.println("App is launched!");

  30.     }

  31.     @Test

  32.     public void addContact(){

  33.         WebElement el = driver.findElement(By.name("Add Contact"));

  34.         el.click();

  35.         List<AndroidElement> textFieldsList = driver.findElementsByClassName("android.widget.EditText");

  36.         textFieldsList.get(0).sendKeys("Some Name");

  37.         textFieldsList.get(2).sendKeys("Some@example.com");

  38.         driver.swipe(100, 500, 100, 100, 2);

  39.         driver.findElementByName("Save").click();

  40.         System.out.println("App is done!");

  41.     }

  42.     @After

  43.     public void tearDown() throws Exception {

  44.         driver.quit();

  45.     }

  46. }
复制代码
[attach]107260[/attach]
五、 启动Android模拟器(也可以连接真机)
1、cmd输入:android avd,选择模拟器,点击【Start】即可。
2、启动好后,cmd输入:adb devices,确定设备是否连接上,如下图连接成功:
[attach]107261[/attach]
六、 启动Appium
方法一:cmd输入:appium
[attach]107262[/attach]
方法二:
1、直接双击appium gui图标(如下图):
[attach]107263[/attach]
2、点击右上角的启动按钮,启动日志如下:
[attach]107264[/attach]
七、 运行测试案例:
1、在eclipse中,项目右键>【Run As】>【JUnit Test】,运行过程截图如下:
[attach]107265[/attach]
八、eclipse运行结果:
[attach]107266[/attach]
九、Appium运行结果:
[attach]107267[/attach]


作者: 梦想家    时间: 2017-7-12 11:39
支持一下
作者: libingyu135    时间: 2018-7-20 15:05
厉害了,大神




欢迎光临 51Testing软件测试论坛 (http://bbs.51testing.com/) Powered by Discuz! X3.2