本文内容参考虫师的教程,在此基础上做了验证更新。

系统环境:

windows 2012 R2

应用软件:

Appiumnode.jsappium clientEclipsePython

资源站点:

      Appium官方网站:

      node.js官方网站:

      Eclipse官方网站:

      Python官方网站:

一、系统配置

1、初始环境设置如下图:

  • 修改主机名

  • 关闭防火墙

  • 启用远程桌面

  • 关闭IE增强安全配置

  • 启用Windows更新并更新系统

2、添加角色和功能

 

配置完成!!

二、安装Appium               

1、安装node.js

node.js官方网站:

 

下载完成,双击进行安装,如下图。

安装完成,打开Windows 命令提示符,敲入“npm”命令回车。

 

如果出现如上图信息,表示node.js安装成功。

 

2、安装Appium

方式一:npm安装:

npm是一个node包管理和分发工具,已经成为了非官方的发布node模块(包)的标准。有了npm,可以很快的找到特定服务要使用的包,进行下载、安装以及管理已经安装的包。

Windows PowerShell输入:

npm install -g appium

方式二:官网下载安装程序直接安装

下载链接:

                     

将下载的AppiumForWindows_1_4_0_0.zip进行解压,如下:

双击“appium-installer.exe”进行安装。根据提示,一步一步进行安装。最终在会桌面上生成Appium图标

 

双击图标:

 

安装成功!

 

三、安装Android虚拟机

1、安装JDK

官网下载地址:

下载完成后安装:

设置安装路径。这里我们选择默认安装在:

 C:\Java\jdk1.8.0_51

设置环境变量:

 “我的电脑”右键菜单--->属性--->高级--->环境变量--->系统变量-->新建..

变量名:JAVA_HOME 变量值:C:\Java\jdk1.8.0_51 变量名:CALSS_PATH变量值:.;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar;

找到”Path”变量名—>“编辑”在头部添加:

变量名:PATH变量值:%JAVA_HOME%\bin;%JAVA_HOME%\jre\bin;

验证安装:

  Windows PowerShell输入:

javac

  

得到以下输出表示安装成功:

2、安装Android ADTSDK

ADT(Android Development Tools) 目前Android开发所用的开发工具是Eclipse,在Eclipse编译IDE环境中,安装ADT,为Android开发提供开发工具的升级或者变更,简单理解为在Eclipse下开发工具的升级下载工具。adt只是一个eclipse的插件,里面可以设置sdk路径。

 

SDK(Software Development Kit) 一般是一些被软件工程师用于为特定的软件包、软件框架、硬件平台、操作系统等建立应用软件的开发工具的集合。在Android中,他为开发者提供了库文件以及其他开发所用到的工具。简单理解为开发工具包集合,是整体开发中所用到的工具包,如果你不用Eclipse作为你的开发工具,你就不需要下载ADT,只下载SDK即可开发。

 

SDK官方下载地址:

ADT官方下载地址:

 

下载后双击安装SDK,安装完成后,将ADT包解压到SDK安装目录并覆盖。

设置环境变量:

 

“我的电脑”右键菜单--->属性--->高级--->环境变量--->系统变量-->新建..

变量名:ANDROID_HOME 变量值:C:\Program Files(x86)\Android\android-sdk

变量名:APPIUM_HOME 变量值:C:\Program Files(x86)\Appium\node_modules\.bin;

找到Path变量名—>“编辑”最后添加:

变量名:PATH变量值:;%ANDROID_HOME%\platform-tools;%ANDROID_HOME%\tools;%APPIUM_HOME%;

3SDK Manager安装模拟器

进入android-sdk目录,双击启动SDK Manager.exe 程序,更新

 

更新代理配置

 

Android SDKManager 的菜单栏上点击“Tools---->Options...”设置相关代码,如下图:

 

 

选择需要安装的程序,开始更新

 

检查appium环境

 

WindowsPowerShell输入:

appium-doctor

得到如下输出表示安装成功!!

 

 

4、创建Android虚拟机

进入android-sdk目录,双击启动AVD Manager.exe 程序

 

 

 

AVD Manager 窗口,点击“Start...”按钮启动android 模拟器。

 

 

因为新虚拟机没了实体键,所以我们可以利用键盘按键来操作android虚拟机。

四、安装Appium Client

Appium Client是对webdriver原生api的一些扩展和封装。它可以帮助我们更容易的写出用例,写出更好懂的用例。

Appium Client是配合原生的webdriver来使用的,因此二者必须配合使用缺一不可。

Appium支持Ruby、Java、Python等编写自动化测试脚本

1、安装Python

官方下载链接:

下载完成后,双击安装:

2、安装Appium-Python-Client

通过pip安装

WindowsPowerShell输入:       

 cd C:\Python27\Scripts  .\pip2.7.exe installAppium-Python-Client

 

 

安装完成!!

五、安装Eclipse

1、下载并解压

官方下载链接:

 

将安装文件解压到C盘根目录,运行...

 

2、环境配置(Python

打开Eclipse,点击帮助》安装新软件

 

Work with:输入

python - http://pydev.org/updates

 

点击完成,等待安装完成后重新启动Eclipse

 

重启后点击窗口》首选项

 

 

在首选项中选择Python环境变量,点击新建,并选择Python安装目录...确定

 

 

六、测试

1、启动android模拟器

 

进入android-sdk目录,双击启动AVD Manager.exe 程序,选择配置好的镜像,点击启动

 

2、启动Appium

 

 

 

然后点击右上角的“三角”按钮启动Appium

 

3、编写Python自动化测试脚本

打开Eclipse,选择菜单中【file】》》new》》other

编写一个测试脚本

#coding=utf-8from appiumimport webdriver desired_caps ={}desired_caps['platformName']= 'Android'desired_caps['platformVersion']= '4.4.2'desired_caps['deviceName']= 'Android Emulator'desired_caps['appPackage']= 'com.android.calculator2'desired_caps['appActivity']= '.Calculator' driver =webdriver.Remote('http://localhost:4723/wd/hub', desired_caps) driver.find_element_by_name("1").click() driver.find_element_by_name("5").click() driver.find_element_by_name("9").click() driver.find_element_by_name("delete").click() driver.find_element_by_name("9").click() driver.find_element_by_name("5").click() driver.find_element_by_name("+").click() driver.find_element_by_name("6").click()[driver.find_element_by_name("=").click() driver.quit()

点击运行后,可在虚拟机中看到运行结果。

4、编写Java自动化测试脚本

Eclipse中新建Java项目Javatest

 

(1)导入SeleniumAppium类库

将文件下载后保存到一个文件夹中,然后导入:

 

配置构建路径:

 

Javatest项目下新建文件夹apps,将ContactManager.apk拷入

 

 

Javatest项目下新建包Phonetest

 

在包Phonetest新建文件AndroidContactsTest.java

 

文件内容如下:

 

package Phonetest; importio.appium.java_client.android.AndroidDriver;import org.junit.After;import org.junit.Before;import org.junit.Test;importorg.openqa.selenium.By;importorg.openqa.selenium.WebElement;importorg.openqa.selenium.remote.CapabilityType;import org.openqa.selenium.remote.DesiredCapabilities;import java.io.File;import java.net.URL;import java.util.List; public classAndroidContactsTest {    private AndroidDriver driver;     @Before    public void setUp() throws Exception {        // set up appium        File classpathRoot = newFile(System.getProperty("user.dir"));        File appDir = new File(classpathRoot,"apps");        File app = new File(appDir,"ContactManager.apk");        DesiredCapabilities capabilities = newDesiredCapabilities();       capabilities.setCapability(CapabilityType.BROWSER_NAME, "");       capabilities.setCapability("platformName","Android");       capabilities.setCapability("deviceName","AndroidEmulator");       capabilities.setCapability("platformVersion","4.4");       capabilities.setCapability("app", app.getAbsolutePath());       capabilities.setCapability("appPackage","com.example.android.contactmanager");       capabilities.setCapability("appActivity",".ContactManager");        driver = new AndroidDriver(newURL("http://127.0.0.1:4723/wd/hub"), capabilities);    }     @After    public void tearDown() throws Exception {        driver.quit();    }     @Test    public void addContact(){        WebElement el = driver.findElement(By.name("AddContact"));        el.click();        List
 textFieldsList =driver.findElementsByClassName("android.widget.EditText");       textFieldsList.get(0).sendKeys("Some Name");       textFieldsList.get(2).sendKeys("Some@example.com");        driver.swipe(100, 500, 100, 100, 2);       driver.findElementByName("Save").click();    }}

运行

点击运行后,可在虚拟机中看到运行结果。