本文内容参考虫师的教程,在此基础上做了验证更新。
系统环境:
windows 2012 R2
应用软件:
Appium、node.js、appium client、Eclipse、Python
资源站点:
Appium官方网站:http://appium.io/
node.js官方网站:https://nodejs.org/
Eclipse官方网站:http://www.eclipse.org/
Python官方网站:https://www.python.org/
一、系统配置
1、初始环境设置如下图:
修改主机名
关闭防火墙
启用远程桌面
关闭IE增强安全配置
启用Windows更新并更新系统
2、添加角色和功能
配置完成!!
二、安装Appium
1、安装node.js
node.js官方网站:https://nodejs.org/
下载完成,双击进行安装,如下图。
安装完成,打开Windows 命令提示符,敲入“npm”命令回车。
如果出现如上图信息,表示node.js安装成功。
2、安装Appium
方式一:npm安装:
npm是一个node包管理和分发工具,已经成为了非官方的发布node模块(包)的标准。有了npm,可以很快的找到特定服务要使用的包,进行下载、安装以及管理已经安装的包。
在Windows PowerShell输入:
npm install -g appium
方式二:官网下载安装程序直接安装
下载链接:https://bitbucket.org/appium/appium.app/downloads/
将下载的AppiumForWindows_1_4_0_0.zip进行解压,如下:
双击“appium-installer.exe”进行安装。根据提示,一步一步进行安装。最终在会桌面上生成Appium图标
双击图标:
安装成功!
三、安装Android虚拟机
1、安装JDK
官网下载地址:http://www.java.com/zh_CN/download/manual.jsp
下载完成后安装:
设置安装路径。这里我们选择默认安装在:
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
得到以下输出表示安装成功:
ADT(Android Development Tools): 目前Android开发所用的开发工具是Eclipse,在Eclipse编译IDE环境中,安装ADT,为Android开发提供开发工具的升级或者变更,简单理解为在Eclipse下开发工具的升级下载工具。adt只是一个eclipse的插件,里面可以设置sdk路径。
SDK(Software Development Kit): 一般是一些被软件工程师用于为特定的软件包、软件框架、硬件平台、操作系统等建立应用软件的开发工具的集合。在Android中,他为开发者提供了库文件以及其他开发所用到的工具。简单理解为开发工具包集合,是整体开发中所用到的工具包,如果你不用Eclipse作为你的开发工具,你就不需要下载ADT,只下载SDK即可开发。
SDK官方下载地址:
ADT官方下载地址:
https://dl.google.com/android/ADT-23.0.6.zip
下载后双击安装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%;
3、SDK 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
官方下载链接:https://www.python.org/ftp/python/2.7.10/python-2.7.10.amd64.msi
下载完成后,双击安装:
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-8 from 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)导入Selenium、Appium类库
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
https://search.maven.org/remotecontent?filepath=io/appium/java-client/1.2.1/java-client-1
将文件下载后保存到一个文件夹中,然后导入:
配置构建路径:
在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<WebElement> 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(); } }
运行
点击运行后,可在虚拟机中看到运行结果。