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

1 篇文章 0 订阅
1 篇文章 0 订阅

第一节安装Appium

Appium官方网站:http://appium.io/

先安装node.js 。node.js官方网站:https://nodejs.org/

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

下载完成,双击进行安装


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

出现以上信息表示安装成功。

下面通过npm安装Appium 。

使用淘宝源安装cnpm

npm install -g cnpm --registry=https://registry.npm.taobao.org

cnpm 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 & SDK

Android-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-Tools

http://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 Client

pip 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.exe

CMD 输入python

表示环境安装成功

集成开发环境PyCharm

PyCharm 下载地址 : 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

安装

环境配置结束

启动Appium

appium(按需选择)    通过CMD命令行启动

appium                      #直接启动appium

appium --no-reset           #不重置app

appium --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 webdriver

desired_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_keys

driver.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 框架,数据驱动模式,以及代码封装和对象操作 。提高代码质量

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值