搭建appium的android环境

首先需要准备:

1、jdk(步骤不再啰嗦)

2、android SDK,下载地址:http://developer.android.com/sdk/index.html,下载sdk tools,可能需要翻墙,提供一个国内下载地址:http://www.androiddevtools.cn/

3、appium,下载地址:http://appium.io/

4、nodejs,下载地址:https://nodejs.org/en/

5、Genymotion,下载地址:https://www.genymotion.com/#!/download(android模拟器,需要先注册帐号)

6、appium lib,下载地址:http://appium.io/downloads.html

上述软件都准备好后,则进入搭建步骤。

一、安装、配置

将上述软件依次安装。

1. android sdk安装完毕后,需要配置环境变量

新建ANDROID_HOME    D:\Program Files (x86)\Android\android-sdk

在PATH中添加:%ANDROID_HOME%\platform-tools;%ANDROID_HOME%\tools;

2. nodejs安装完毕后,需要配置环境变量

在PATH中添加:D:\Program Files\nodejs;

3.appium安装完毕后,需要配置环境变量

D:\Program Files (x86)\Appium\node_modules\.bin;

4.配置好后,启动cmd,

输入node -v,查看node安装版本

输入appium-doctor检查appium的安装环境是否成功,如下图:

二、使用eclipse

1、启动eclipse分别导入selenium-server-standalone-2.48.2.jar和java-client-3.3.0.jar(即appium jar)

2、就可以编写程序啦。

三、准备Androidsdk所需要工具,下载地址在http://www.androiddevtools.cn/

platform-tools
这是 adb, fastboot 等工具包。把解压出来的 platform-tools 文件夹放在 android sdk 根目录下,并把 adb所在的目录添加到系统 PATH 路径里,即可在命令行里直接访问了 adb, fastboot 等工具

android-5.1
这是Android开发所需的Build-Tools,下载并解压后,将解压出的整个文件夹复制或者移动到 your sdk 路径/build-tools 文件夹即可

android-21
这是Android开发所需的sdk,下载并解压后,将解压出的整个文件夹复制或者移动到 your sdk 路径/platforms文件夹,然后打开SDK Manager,打开 Tools(工具)菜单选择 Options(选项)菜单项打开Android SDK Manager Setting对话框,点击 Clear Cache(清除缓存)按钮,然后重启Eclipse(或Android Studio)和SDK Manager。

system-images
这是在创建模拟器时需要的system image,也就是在创建模拟器时 CPU/ABI项需要选择的,下载并解压后,将解压出的整个文件夹复制或者移动到 your sdk 路径/system-images文件夹下即可, 如果没有 system-images目录就先创建此文件夹,然后打开SDK Manager,打开 Tools(工具)菜单选择 Options(选项)菜单项打开Android SDK Manager Setting对话框,点击 Clear Cache(清除缓存)按钮,然后重启Eclipse(或Android Studio)和SDK Manager。

 

四、利用工具识别待测apk的相关信息

1、启动appium安装目录下的appium.exe,按如下操作

2、启动genymotion,创建一个android模拟器,Android版本根据需要自己选择

3、启动Android模拟器,并启动待测app,如果安装app失败,则需要下载Genymotion-ARM-Translation_v1.1.zip,

4、打开android sdk安装目录下的Android\android-sdk\tools\uiautomatorviewer.bat。

 5、编写测试代码

package com.test;

import java.io.File;
import java.net.URL;
import java.util.List;

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;

/** 
 * @author QiaoJiafei 
 * @version 创建时间:2016年1月11日 下午3:19:02 
 * 类说明 
 */
public class FirstTest {
     private  AndroidDriver  driver;
     
        @BeforeMethod(alwaysRun=true)
        public void setUp() throws Exception {
            // set up appium
           File app = new File("appsoft", "ContactManager.apk");
            DesiredCapabilities capabilities = new DesiredCapabilities();
            capabilities.setCapability(CapabilityType.BROWSER_NAME, "");
            capabilities.setCapability("platformName", "Android");
            capabilities.setCapability("deviceName","Android Emulator");
            capabilities.setCapability("platformVersion", "5.0");
            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
        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("testname");
            textFieldsList.get(1).sendKeys("10010");
            textFieldsList.get(2).sendKeys("test@163.com");
            driver.swipe(100, 500, 100, 100, 2);
            driver.findElementByName("Save").click();
        }
}

6、打开cmd,输入appium,或者打开appium.exe,点击启动

7、运行测试代码即可

posted on 2016-03-11 18:13  乔叶叶  阅读(2694)  评论(0编辑  收藏

导航