Windows 平台上的使用 Python 语言实现 appium 自动化程序环境配置
环境配置
一、 python+pip安装
网上很多安装方法,这里强调添加环境变量!
D:\Python27;D:\Python27\Scripts;
二、 设置SDK环境
1. sdk环境配置:http://www.cnblogs.com/puresoul/p/4597211.html
2. 添加环境变量: 新编辑变量名ANDROID_HOME,变量值:D:\adt\adt-bundle-windows-x86_64-20140702\sdk\
在PATH中添加: %ANDROID_HOME%\tools;%ANDROID_HOME%\platform-tools;
三、selenium安装
打开cmd窗口, 执行 pip install selenium
四、node.js安装
安装地址:http://nodejs.org/download/, 安装完成添加环境变量
D:\Program Files\nodejs\
打开cmd窗口, 执行node -v 出现版本号表明安装成功
五、下载安装appium
法一: 利用node,js安装, 打开cmd窗口,执行npm install -g appium(本人没有跑通,自行验证)
法二: 安装图形界面
安装地址:https://bitbucket.org/appium/appium.app/downloads/
直接双击appium-installer.exe傻瓜式安装
安装完成后添加环境变量:D:\Program Files (x86)\Appium\node_modules.bin;
六、检查appium所需环境是否OK
打开cmd窗口, 执行appium-doctor,出现以下提示,All Checks were successful ,说明环境成功。若失败,会提示哪个环境变量没有配置,对应的去配置就行
参考链接:http://www.cnblogs.com/ydnice/p/5787800.html
https://testerhome.com/topics/646
运行
一、 启动appium服务端
1. 直接运行appium gui
2. 点击左上角android图标,进行配置
PlatformVersion:选择可以兼容的版本
Device Name:通过adb devices查看
3. 点击右上角运行按钮,出现如下图表示成功启动appium服务
二、python编写简单脚本测试
import os
import time
import unittest
from appium import webdriver
class ExamSystem(object):
def test(self):
d.press.home()
desired_caps = {}
desired_caps['platformName'] = 'Android'
desired_caps['platformVersion'] = '23'
desired_caps['deviceName'] = 'f0717927'
desired_caps['app'] = 'C:\\Users\\Administrator\\Desktop\\ExamSystem.apk'
#desired_caps['appPackage'] = 'com.bbk.launcher2'
desired_caps["unicodeKeyboard"] = "True"
desired_caps["resetKeyboard"] = "True"
self.driver = webdriver.Remote("http://localhost:4723/wd/hub", desired_caps)
time.sleep(5)
print "begin test"
time.sleep(5) self.driver.find_element_by_id("com.vivo.exam:id/login_job_number").send_keys("11065413")
print "ok"
self.driver.quit()
if __name__ == "__main__":
examsystem = ExamSystem()
examsystem.test()
运行脚本:
如果出现错误:
1. Could not extract PIDs from ps output…
解决方法:修改 Appium\node_modules\appium\node_modules\appium-adb\lib\adb.js 文件
this.shell("ps '" + name + "'", function (err, stdout) {
...
var procs = [];
var outlines = stdout.split("\n");
outlines.shift() //添加这行
...
保存,重启appium!
注:1. desired_caps[‘app’] = ‘C:\Users\Administrator\Desktop\ExamSystem.apk’ 这句话会将该路径的apk重新安装到手机!
2. 使用appium自带键盘,可很好的处理文本框输入问题和中文问题!
desired_caps[“unicodeKeyboard”] = “True”# 使用unicodeKeyboard的编码方式来发送字符串
desired_caps[“resetKeyboard”] = “True”# 将键盘给隐藏起来
常用方法:
参考地址:http://blog.csdn.net/liusuihui/article/details/64542082
http://blog.csdn.net/zxz_tsgx/article/details/53204258
http://fantaxy025025.iteye.com/blog/2380271
http://www.cnblogs.com/7chentest/p/6396551.html
http://www.cnblogs.com/forcepush/p/7090640.html