Android之UI测试 Appium - xiexiaoyan119/xxy.github.io GitHub Wiki

###依赖的软件### Node
python-client-master

###安装Node###
下载并安装node
配置node至环境变量中
export PATH=$PATH:/xx/node-v4.2.3-linux-x64/bin
export PATH=$PATH:/xx/node-v4.2.3-linux-x64/lib/node_modules
验证node版本:node -v==>v4.2.3

###查看Appium历史版本###
cnpm view appium versions --json 获取所有历史版本
npm view appium versions --json 无法获取数据

###安装Appium服务端###
安装时,不要使用root用户安装

  1. 设置全局代理:
    $export https_proxy=”http://xxx”
    $export http_proxy=”http://xxx”
    备用:npm install -g cnpm --registry=https://registry.npm.taobao.org

  2. 执行命令,下载appium
    $npm install -g appium 默认安装最新的版本
    $npm install [email protected] 指定版本
    $npm install wd

  3. 验证appium成功:
    $appium –v
    1.4.16

  4. 取消全局代理
    $export http_proxy=
    $export https_proxy=

###卸载Appium服务端###
npm uninstall appium -g

###安装Appium客户端###

  1. 下载 python-client-master.zip
    下载地址:https://github.com/appium/python-client

  2. 解压缩安装
    $tar -xvf Appium-Python-Client-X.X.tar.gz
    $cd Appium-Python-Client-X.X
    $python setup.py install

  3. 验证:没有错误提示,即安装成功
    $ python

from appium import webdriver

###Appium使用###
启动服务端:appium --log-timestamp 启动并有日期时间信息
使用客户端:test.py内容如下,执行python test.py即可
coding:utf-8
from time import sleep
import sys from appium import webdriver

def start_driver(device_name, platform_version): desired_caps = {} desired_caps['platformName'] = 'Android' desired_caps['platformVersion'] = platform_version desired_caps['deviceName'] = device_name desired_caps['appPackage'] = 'com.xxx' app = 'xxx.activity' desired_caps['appActivity'] = app global driver wd = 'http://0.0.0.0:4723/wd/hub' driver = webdriver.Remote(wd, desired_caps) sleep(5)

def execute_case(): sleep(5)
el_id = 'com.xxx:id/nav_right' driver.find_element_by_id(el_id).click() sleep(3) driver.find_element_by_name(u'我的').click() sleep(3)

def destory_driver(): driver.quit()

if name == 'main': device_name = sys.argv[1] platform_version = sys.argv[2] start_driver(device_name, platform_version) try: execute_case() except: print "execute with error" finally: destory_driver()
服务端控制台:接收到客户端的请求,进行adb检测、push jar包、安装apk等信息,进入设备,并执行用例

###Appium目录###
确认node的目录:$which node
node安装的包(含appium)的启动命令都在:node/bin/appium
appium服务端的主目录:node/lib/node_modules/appium
appium客户端:安装到python的/usr/local/lib/python2.7/dist-packages/Appium_Python_Client-0.22-py2.7.egg

###参考###
Appium源码:https://github.com/appium/appium
Git源码:git clone https://github.com/appium/appium.git
Appium客户端(Python)https://github.com/appium/python-client/tree/master/test