搭建Appium自动化测试环境
以下环境搭建部分摘抄自虫师 - http://www.cnblogs.com/fnng/p/4540731.html
http://www.cnblogs.com/shuchengxiang/p/7145037.html
转载请附链接
一、安装 Appium
Appium官网 : http://appium.io/
官方首页给出了appium的安装步骤。
所以,我们需要先安装node.js 。node.js官方网站:https://nodejs.org/
下载安装好了在Windows cmd 命令中输入 npm ,如果出现下图表示安装成功
npm是一个node包管理和分发工具,已经成为了非官方的发布node模块(包)的标准。有了npm,可以很快的找到特定服务要使用的包,进行下载、安装以及管理已经安装的包。
在安装完node.js 后安装Appium
https://bitbucket.org/appium/appium.app/downloads/ 在Appium官方网站上下载操作系统相应的Appium版本。
当前最新版本为AppiumForWindows_1_4_0_0.zip,注意这是一个Windows版本,如果你的电脑为MAC请下载appium-1.3.7.dmg。虽然你已经看到了这些下载包,但我不保证你能下载的下来。原因你懂的~!
以Windows为例,将下载的AppiumForWindows_1_4_0_0.zip进行解压,如下:
双击“appium-installer.exe”进行安装 安装成功后 ,再次启动Appium,如下图表示安装成功
安装目录 C:\Program Files (x86)\Appium
安装好后摄者 环境变量
环境变量添加 APPIUM_HOME= C:\Program Files (x86)\Appium
在path中添加 ;%APPIUM_HOME%\;%APPIUM_HOME%\node_modules\.bin;
介绍另一种安装方式 :
通过npm安装Appium。
---------------------------------------------
npm install -g appium
-----------------------------------------------------
当然,这种方式的Appium会很慢,为尊重官网上的介绍,而且大多Appium相关资料也会介绍这种安装安装方式。
二、 安装Android开发环境
安装java环境
此处略过
安装android adt & SDK
Java 叫JDK Android 的加SDK
Android SDK提供了你的API库和开发工具构建,测试和调试应用程序,Android。简单来讲,Android SDK可以看做用于开发和运行Android应用的一个软件。
扩展理解:
ADT(Android Development Tools): 目前Android开发所用的开发工具是Eclipse,在Eclipse编译IDE环境中,安装ADT,为Android开发提供开发工具的升级或者变更,简单理解为在Eclipse下开发工具的升级下载工具。adt只是一个eclipse的插件,里面可以设置sdk路径
SDK(Software Development Kit): 一般是一些被软件工程师用于为特定的软件包、软件框架、硬件平台、操作系统等建立应用软件的开发工具的集合。在Android中,他为开发者提供了库文件以及其他开发所用到的工具。简单理解为开发工具包集合,是整体开发中所用到的工具包,如果你不用Eclipse作为你的开发工具,你就不需要下载ADT,只下载SDK即可开发。SDK可以自己编译,在linux环境下通过make命令进行,耗时比较长,需要有耐心哦亲。。。然后我们可以把自己编译的SDK通过ADT导入eclipse。在此基础上可以对源码包进行修改,比如修改android system/app/phone.apk中的源码,
通过官方地址下载:http://developer.android.com/sdk/index.html
当然,我不能保证你可以访问到这个地址,原因你懂的!
这里提供adt-bundle下载链接:
http://dl.google.com/android/adt/adt-bundle-windows-x86-20140702.zip
https://dl.google.com/android/adt/adt-bundle-windows-x86_64-20140702.zip
http://dl.google.com/android/adt/adt-bundle-mac-x86_64-20140702.zip
http://dl.google.com/android/adt/adt-bundle-linux-x86-20140702.zip
http://dl.google.com/android/adt/adt-bundle-linux-x86_64-20140702.zip
Android-sdk下载地址:
http://dl.google.com/android/android-sdk_r23.0.2-windows.zip
http://dl.google.com/android/installer_r23.0.2-windows.exe
http://dl.google.com/android/android-sdk_r23.0.2-macosx.zip
http://dl.google.com/android/android-sdk_r23.0.2-linux.tgz
根据我的验证adt和sdk 都可以用来运行android 模拟器,所以下载哪个都可以。下载链接中已经标识了系统信息,请根据自己的操作系统下载相应的版本。
Adt和sdk解压包对比,相对adt的内容要多一些,如果你不做android开发的话,两者都可以。
下面设置Android环境变量,方法与java环境变量类似。我本机的目录结果为:
D:\android\android-sdk-windows
设置环境变量:
ANDROID_HOMED: = \android\android-sdk-windows
PATH 中添加 ;%ANDROID_HOME%\platform-tools;%ANDROID_HOME%\tools;
SDK Manager安装模拟器
双击启动SDK Manager.exe程序。
当然,我不能保证你SDK可以更新。所以,这里推荐一个网站:http://www.androiddevtools.cn/
它提供了国内的代理,以及各种开发工具的安装。
在Android SDK Manager的菜单栏上点击“Tools”---->“Options...”设置相关代码,如下图:
然后,就可以更新了:
安装SDK Platform-Tools
Android SDK Platform-tools是版本有区别的工具文件夹,里面有adb、aapt、fastboot等工具包。
在AndroidDevTools.cn网站上找到Android SDK Platform-tools下载链接
或者到东软大学镜像服务器中下载 http://mirrors.neusoft.edu.cn/android/repository/
把解压出来的platform-tools文件夹放在android sdk根目录下,并把adb所在的目录添加到系统PATH路径里 PATH 中添加 ;%ANDROID_HOME%\platform-tools;。
打开Windows命令提示符,通过“appium-doctor”命令检查appium环境。
如果出现“All Checks were successful”的提示,说明基本环境已经搞好
三 、Android 模拟模拟器的安装
四 、Python 安装
选择Python语言来编写自动化测试脚本。访问Python官方网站:https://www.Python.org/下载 .zip
解压到D盘,D:\Python27;
然后在环境变量pyth 中添加 ;D:\Python27;D:\Python27\Lib\site-packages\django;D:\Python27\Scripts;\
通过cmd 命令检查python是否安装成功:
通过pip命令安装 pyth appium的客户端 。如下图
命令 : pip install Appium-Python-Client
五 、第一个自动化测试测试脚本
1、启动Android模拟器(AVD)。如下图create 然后start
2、然后启动appium ,点击左上角第一个按钮设置,appium需要远程建立连接的AVD,然后点击最右边三角按钮启动
3、appium启动,日志出现启动的模拟器对应的信息后表示启动成功,可以执行测试程序
4、测试demo
#coding=utf-8
fromappiumimportwebdriver
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("+").click()
driver.find_element_by_name("2").click()
driver.find_element_by_name("=").click()
driver.quit()
查看模拟器,结果1+2=3