您的位置:首页 > 移动开发

零基础搭建appium-python 环境(Windows环境)

2018-03-14 15:34 525 查看
第一节安装AppiumAppium官方网站:http://appium.io/先安装node.js 。node.js官方网站:https://nodejs.org/

以Windows 7 (64) 为例进行安装,选择Windows installer(.msi)  64-bit 版本进行下载下载完成,双击进行安装


安装完成,打开Windows命令提示符(CMD 命令),敲入“npm”命令回车。

出现以上信息表示安装成功。下面通过npm安装Appium 。使用淘宝源安装cnpmnpm install -g cnpm --registry=https://registry.npm.taobao.orgcnpm install -g appium@1.6.3安装appium1.6.3版本
安装完成之后配置环境变量,编辑path,例如添加:C:\Program Files\nodejs\node_modules\.bin;C:\Program Files\nodejs\;运行cmd,输入:appium -v,若正常显示版本信息,则appium环境安装成功第二节安装Android开发环境安装java 环境java下载地址:http://www.java.com/zh_CN/download/manual.jsp双击下载的JDK ,设置安装路径。这里我们选择默认安装在C:\Program Files (x86)\Java\jdk1.8.0_25目录下。 下面设置环境变量:“我的电脑”右键菜单--->属性--->高级--->环境变量--->系统变量-->新建..变量名:JAVA_HOME 变量值:C:\Program Files (x86)\Java\jdk1.8.0_25 变量名:CALSS_PATH变量值:.;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar; 找到path变量名—>“编辑”添加:变量名:PATH变量值:%JAVA_HOME%\bin;%JAVA_HOME%\jre\bin;在Windows命令提示符下输入java看是否配置成功:

安装android adt & SDKAndroid-sdk下载地址:http://dl.google.com/android/installer_r23.0.2-windows.exe或者 http://dl.google.com/android/android-sdk_r23.0.2-windows.zip下面设置Android环境变量,方法与java环境变量类似。我本机的目录结果为:D:\android\android-sdk-windows下面设置环境变量:“我的电脑”右键菜单--->属性--->高级--->环境变量--->系统变量-->新建..变量名:ANDROID_HOME 变量值:D:\android\android-sdk-windows找到path变量名—>“编辑”添加:变量名:PATH变量值:;%ANDROID_HOME%\platform-tools;%ANDROID_HOME%\tools;安装SDK Platform-Toolshttp://www.androiddevtools.cn/

把解压出来的 platform-tools 文件夹放在 android sdk 根目录下,并把 adb所在的目录添加到系统PATH 路径里,即可在命令行里直接访问了 adb, fastboot 等工具。安装SDK Build-Tools   http://www.androiddevtools.cn/这是Android开发所需的Build-Tools,下载并解压后,将解压出的整个文件夹复制或者移动到  android sdk 根目录/build-tools 文件夹

打开Windows命令提示符,通过“appium-doctor”命令检查appium环境。如果出现“All Checks were successful”的提示,说明基本环境已经配置完成。安装Appium Clientpip install Appium-Python-Client(完成python环境配置后再安装)Python下载Python官网:https://www.python.org/downloads/windows/下载后,双击下载包,进入Python安装向导,安装非常简单,你只需要使用默认的设置一直点击"下一步"直到安装完成即可。配置环境变量在path添加python安装路径即可(我的路径如下:)C:\Users\Administrator\AppData\Local\Programs\Python\Python36\python.exeCMD 输入python

表示环境安装成功集成开发环境PyCharmPyCharm 下载地址 : https://www.jetbrains.com/pycharm/download/安装PIP进入python Scripts 目录cd C:\Users\Administrator\AppData\Local\Programs\Python\Python36\Scripts执行 easy_install.exe pip命令Scripts文件夹下会出现一系列和pip有关的文件,其中有pip.exe。pip.exe的路径也添加到环境变量PATH中输入命令pip如果识别成功则配置完成(可以使用pip 来安装三方包了)安装Appium Client      pip install Appium-Python-Client   安装selenium              pip install  selenium安装环境配置结束启动Appiumappium(按需选择)    通过CMD命令行启动appium                      #直接启动appiumappium --no-reset           #不重置appappium --session-override   #覆盖登录信息USB数据线连接手机先打开手机的开发者选项,打开USB调试模式 (华为:设置—开发者选项—USB调试)USB数据线连接手机,提示选择访问数据模式使用命令adb devices 查看手机是否连接成功(如果失败,有可能是手机助手占用端口,结束手机助手进程即可)

如果出现该提示则连接成功编写python脚本首先要获取app的Package和ctivity查看pack name和activity name  1.进入安卓build-tools      cd D:\android-sdk-windows\build-tools\2.输入命令 aapt dump badging C:\Users\Administrator\Desktop\youapp.apk  (我这里是把安卓的APK放到了桌面上,如果报错,可能是工具问题,将build-tools替换即可  https://pan.baidu.com/s/1MCNpyo7rlWsixHSqk9wV3Q)3.找到并记录



获取driver打开pycharm 新建py文件,并编辑以下代码from appiumimport webdriverdesired_caps = {}desired_caps['platformName'] = 'android'desired_caps['platformVersion'] = '7.0'desired_caps['deviceName'] = 'Android Emulator'desired_caps['appPackage'] = ‘app name’(你的app包名)desired_caps['appActivity'] = ‘app Activity’(你的app Activity名)desired_caps['automationName'] = 'uiautomator2'driver=webdriver.Remote('http://localhost:4723/wd/hub', desired_caps)
启动appium  命令行输入:appium在pycharm空白处右击,run运行脚本 如果能成功打开应用则表示连接成功使用uiautomatorview 查看定位框架元素运行D:\android-sdk-windows\tools下的 uiautomatorviewer.bat打开下图UI界面

点击右上角的手机图标抓取元素(可以先打开你要测试的App然后点图标,获取的就是app的元素了)

在右边可以看到已经成功获取到元素我们接着在上面的代码下继续写代码1.获取并操作元素连接手机后获得一个driver对象,操作drive对象来编写测试脚本可以通过class  resource-id  xpath(需要自己编写)  来定位元素 (元素信息在node_detail 即右下角)driver.find_element_by_id('com.huawei.android.launcher:id/dock_divider')driver.find_element_by_class_name('com.huawei.android.launcher')一般方法有click  get_attribute  send_keysdriver.find_element_by_id('com.huawei.android.launcher:id/dock_divider').click()driver.find_element_by_class_name('com.huawei.android.launcher').send_keys('aaa')driver.find_element_by_class_name('com.huawei.android.launcher').get_attribute('text')其他详细的方法应用可以百度查询进行断言通过继承python自带的测试框架 unittest 可以使用它的断言方法也能自己编写断言例如通过判断页面title来断言页面是否跳转成功Title=driver.find_element_by_id('title_id').get_attribute('text')If Title != ‘首页’:raise print('页面跳转失败')Else:  Print (‘页面跳转成功’)后面可以学习python的unitest 框架,数据驱动模式,以及代码封装和对象操作 。提高代码质量
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: