Appium 新手贴:Windows 平台上的使用 Python 语言实现 appium 自动化程序 for Android (完整版)
一,环境配置篇
在Windows上配置
1)下载安装node.js(http://nodejs.org/download/) 安装的时候有选项,记得把环境变量添加到path路径
2)使用npm安装appium,运行CMD输入 npm install -g appium(有些朋友反应在cmd下运行npm无效,如果这样请把nodejs的目录添加到用户变量的path下重启cmd即可 参考帖子:http://blog.csdn.net/iispring/article/details/8023319) ,如下图:
3)下载安装Android SDK(http://developer.android.com/sdk/index.htmlANDROID_HOMESDK路径,PATH变量设定%),设置环境变量指向 ANDROID_HOME%\tools 和% ANDROID_HOME%\platform-tools
4)安装JDK并设置JAVA_HOME环境变量
5)安装ANT,并将%ANT_HOME%\bin路径加到PATH
6)安装MAVEN,设置%M2_HOME%\bin,并添加到PATH中
7)安装Git
8)运行CMD 输入appium-doctor检查你的环境是不是都配置好了 如图:
整体的环境变量已经配置完毕,不过接下来要配置 python+selenium安装。
二,python+selenium安装配置:
1)下载并安装python去这个地址http://www.python.org/27的python版本,发表文章时,我使用的是
2)下载并安装setuptools【这个工具是python的基础包工具】
去这个地址https://pypi.python.org/packages/2.7/s/setuptools/setuptools,对应python了2.7的版下载
3)去这个地址http://pypi.python.org/pypi/pippip,将pip用WINRAR解压到某盘根目录下,我的解压目录为c:\pip下载
4)使用CMD命令进入以上解压后的文件夹c:\pip,然后使用python setup.py install
a、如果python命令使用不成功,请配置下环境变量 就能OK(这个去百度一下吧。。。。)
b、报错no module named setuptools 可以下载一个运行ez_setup.py,运行ez_setup.py:python ez_setup.py ;
如果运行正常,那就安装成功了。)
参考图(运行结果不保证与该图完全一致):
5)再打开CMD命令,进入python的script路径,如本人的C:\Python\Scripts然后输入 命令:easy_install pip (恭喜你这边安装成功后,就可以顺利使用pip命令了)
参考图(运行结果不保证与该图完全一致):
6)直接使用pip安装selenium,命令为:pip install selenium -i http://pypi.douban.com/simple(使用国内地址)
参考图(运行结果不保证与该图完全一致):
7)打开python的shell或者IDEL界面 ,输入from selenium import webdriver 如果不报错那就说明你已经安装selenium for python成功了。
安装过程也可以参考:http://rubygems.org/gems/selenium-webdriver
三,appium启动篇
由于我测试是连接真机的,所以这里需要先通过adb devices -l 命令获得 真机的udid号,详细步骤如下:
1)真机(安卓版本4.2.2)通过USB连接 电脑,驱动装好,打开USB调试模式
2)再在cmd中输入 appium -a 127.0.0.1 -p 4723 (-a表示ip,-p表示端口, 可以通过appium -h查看更多命令)
3)如果如下图所示 就表示 appium服务启动成功了,注意这个窗口不要关闭 因为这是appium的服务 关了就关了服务,后面过程无法执行,而且这个窗口也是 日志输出的窗口用于排错。
四,代码执行篇
这块我主要是执行的是官方的演示代码:通讯录管理app,安装打开app,并添加一个联系人保存的操作
1)首先去下载ContactManager.apk(http://yunpan.cn/QInSWzP2YWgTJ)
2)将官网的示例代码 android_contact.py 下载下来 放在 Python的目录
3)对python代码进行部分修改
import os
from selenium import webdriver
# Returns abs path relative to this file and not cwd
PATH = lambda p: os.path.abspath(
os.path.join(os.path.dirname(__file__), p)
)
desired_caps = {}
desired_caps['device'] = 'Android'
desired_caps['browserName'] = ''
desired_caps['version'] = '4.2.2'
desired_caps['app'] = PATH('C:\Users\Stephen\Desktop\ContactManager.apk')
desired_caps['app-package'] = 'com.example.android.contactmanager'
desired_caps['app-activity'] = '.ContactManager'
driver = webdriver.Remote('http://localhost:4723/wd/hub', desired_caps)
el = driver.find_element_by_name("Add Contact")
el.click()
textfields = driver.find_elements_by_tag_name("textfield")
textfields[0].send_keys("My Name")
textfields[2].send_keys("aaa@qq.com")
driver.find_element_by_name("Save").click()
driver.quit()
4)运行CMD,进入python目录,输入命令python android_contact.py 此时会自动安装apk并完成相应的添加联系人的操作
OK整个配置执行就算完成了