python appium笔记(一):appium android环境配置及示例
(一) 简介
Appium是一个开源的自动化测试框架,可以用来测试基于iOS、Android和Firefox OS平台的原生和混合应用。该框架使用Selenium Webdriver,在执行测试时和Selenium server通信的是JSON Wire Protocol。Appium允许我们使用,甚至扩展现有的Selenium Webdriver框架来构建测试脚本。
使用Appium,selenium是一定要安装的 pip install selenium
(二) 需要配置的环境
操作系统WIN7/WIN10都行,其他没试
1、 安装JDK (JDK安装就不说了,我的是1.8,其他版本的没试过)
2、 安装NODE.JS (appium是基于node.js实现的)
3、 安装appium
4、 安装Android SDK(用真机测试并且不使用appt、adb工具的话可忽略这步)
5、 pip install Appium-Python-Client
(三) 安装node.js
https://nodejs.org/en/download/
运行一直下一步就行了,安装完成后,path变量加上node.js的安装目录F:\Python\android\nodejs ,可以运行npm -version 看下成不成功
(四) 安装appium
https://github.com/appium/appium-desktop/releases/tag/v1.6.1
下面2个都可以,加web的应该是要联网安装的。一直下一步就行了,不需要配置什么环境变量。
安装完后直接启动
(五) 安装安卓 SDK
(1)http://www.androiddevtools.cn/ ,安装文件EXE或压缩包,下载其中一个
安装完毕后,配置环境变量
新增系统变量: 变量名:ANDROID_HOME 值:F:\Python\android\android-sdk (自己SDK的安装目录)
只用appt、adb工具的话,运行SDK Manager.exe,把必须安装的工具安装就行了(启动的时候SDK会默认选中,直接安装就行了)。安装完毕后,把环境变量配置好就行了,后面的都可以忽略。(我是直接用真机测试,模拟器运行APP各种问题)
path变量中增加 :%ANDROID_HOME%\platform-tools;%ANDROID_HOME%\tools;%ANDROID_HOME%\build-tools\27.0.3;(这个27.0.3看自己的安装目录,不一定相同)
配置好后,可以在cmd中运行下 adb 和 aapt ,能用就OK
(2)https://software.intel.com/en-us/articles/intel-hardware-accelerated-execution-manager-intel-haxm 下载haxm,下载好后直接运行安装就行了(不用安卓模拟器可以不安装,这个主要是解决安装模拟器运行慢的问题)
(3)创建安卓模拟器
Android SDK manager中安装需要的环境
Tools-Manager AVD启动 AVD,或者直接点击安装目录下的AVD Manager 启动,创建一个模拟器,然后启动 start。
(六) 示例
记得安装 pip install Appium-Python-Client
这段代码就是启动博客园客户端并关闭。暂时感觉appium的元素定位不太友好
1 from appium import webdriver 2 import time 3 desired_caps = { 4 'platformName':'Android', 5 #用真机的时候,这个参数deviceName没什么用,但是还是必须要有这个参数,值的话随便填就行了 6 'deviceName':'HUAWEI', 7 'platformVersion':'7.0', 8 'appPackage':'com.rae.cnblogs', 9 'appActivity':'com.rae.cnblogs.activity.LauncherActivity', 10 'unid':'填写真机unid的值,下面说明怎么获取了', 11 'noReset':'true', 12 } 13 driver = webdriver.Remote('http://localhost:4723/wd/hub',desired_caps) 14 time.sleep(3) 15 driver.quit()
https://appium.io/docs/cn/writing-running-appium/caps/index.html 这里可以查看参数说明
用上面的代码得安装博客园的Android APP才行
(七)获取package、activity、devicename、unid
通过appt工具获取package、activity,cmd运行 aapt dump badging xxx.apk
获取devicename、unid,cmd 运行 adb devices(记得手机开启usb调试再运行这个命令) ,用真机的时候,下面这个位置的东西就是UNID参数的值,使用模拟器的话就是deviceName参数的值