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的元素定位不太友好
from appium import webdriver
import time
desired_caps = {
'platformName':'Android',
#用真机的时候,这个参数deviceName没什么用,但是还是必须要有这个参数,值的话随便填就行了
'deviceName':'HUAWEI',
'platformVersion':'7.0',
'appPackage':'com.rae.cnblogs',
'appActivity':'com.rae.cnblogs.activity.LauncherActivity',
'unid':'填写真机unid的值,下面说明怎么获取了',
'noReset':'true',
}
driver = webdriver.Remote('http://localhost:4723/wd/hub',desired_caps)
time.sleep(3)
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参数的值

python appium笔记(一):appium android环境配置及示例的更多相关文章
- [Android] 环境配置之正式版Android Studio 1.0
昨天看见 Android Studio 1.0 正式版本发布了:心里挺高兴的. 算是忠实用户了吧,从去年开发者大会一开始出现 AS 后就开始使用了:也是从那时开始就基本没有用过 Eclipse 了:一 ...
- [Android] 环境配置之基础开发环境(SDK/Android Studio)(转)
[Android] 环境配置之基础开发环境(SDK/Android Studio) 博客: blog.csdn.net/qiujuer 网站: www.qiujuer.net 开源库: Geniu ...
- cocos2dx - android环境配置及编译
接上一节内容:cocos2dx - 伤害实现 本节主要讲Android环境配置及编译 在第一节中setup.py的配置里,我们没有配置对应的ndk,sdk,ant的路径,在这里需要先配置好环境变量. ...
- 【React Native开发】React Native For Android环境配置以及第一个实例(1)
年9月15日也公布了ReactNative for Android,尽管Android版本号的项目公布比較迟,可是也没有阻挡了广大开发人员的热情.能够这样讲在2015年移动平台市场上有两个方向技术研究 ...
- [Android] 环境配置之Android Studio开发NDK
分类:Android环境搭建 (14351) (20) ========================================================作者:qiujuer博客:bl ...
- Android环境配置(Eclipse全开发环境下载)
Android环境配置 前期准备 Android环境的Eclipse: 网站链接:https://www.runoob.com/w3cnote/android-tutorial-eclipse-adt ...
- Android环境配置之正式版AndroidStudio1.0
昨天看见 Android Studio 1.0 正式版本发布了:心里挺高兴的. 算是忠实用户了吧,从去年开发者大会一开始出现 AS 后就开始使用了:也是从那时开始就基本没有用过 Eclipse 了:一 ...
- OpenCV On Android环境配置最新&最全指南(Android Studio篇)
本文是从本人简书上搬运而来,属本人原创,如有转载,请注明出处:http://www.jianshu.com/p/6e16c0429044 简介 本文是<OpenCV On Android环境配置 ...
- OpenCV On Android环境配置最新&最全指南(Eclipse篇)
简介 本教程是经过本人多次踩坑,并参考网上众多OpenCV On Android的配置教程总结而来,尽希望能帮助学习移动图像处理的朋友们少走弯路.这也是本人第一次在简书上发布文章,如有不足,希望各位d ...
随机推荐
- SSH框架整合详细分析【执行流程】
struts1和spring有两种整合的方法 一种是action和spring bean映射:一种是将action交给spring初始化 第一种方式:访问.do的URL->tomcat接收到r ...
- Google Optimization Tools介绍
Google Optimization Tools(OR-Tools)是一款专门快速而便携地解决组合优化问题的套件.它包含了: 约束编程求解器. 简单而统一的接口,用于多种线性规划和混合整数规划求解, ...
- Kafka消息存储原理
kafka消息存储机制 (一)关键术语 复习一下几个基本概念,详见上面的基础知识文章. Broker:消息中间件处理结点,一个Kafka节点就是一个broker,多个broker能够组成一个Kafka ...
- 关于Spring Security中无Session和无状态stateless
Spring Security是J2EE领域使用最广泛的权限框架,支持HTTP BASIC, DIGEST, X509, LDAP, FORM-AUTHENTICATION, OPENID, CAS, ...
- github绑定自己的域名
1.进入需要绑定域名的项目里面,然后新建一个文件CNAME,没有后缀的. 2.在文件里面输入你的域名,然后保存.github这边就完成了. 3.然后去你购买域名的网站,进入控制台,找到域名,然后域名解 ...
- java学习-http中get请求的非ascii参数如何编码解码探讨
# 背景: 看着别人项目代码看到一个PathUtils工具类, 里面只有一个方法,String rebuild(String Path),将路径进行URLDecoder.decode解码,避免路径中 ...
- postgresql的启停和创建
一.启停方法 两种方法 1.直接运行postgres进程启动: 2.使用pg_ctl命令启动 postgres -D /home/osdba/pgdata & 二.停止数据库的三种模式 sm ...
- Java队列——Disruptor 的使用
.什么是 Disruptor 从功能上来看,Disruptor 是实现了“队列”的功能,而且是一个有界队列.那么它的应用场景自然就是“生产者-消费者”模型的应用场合了. 可以拿 JDK 的 Bloc ...
- 利用nginx解决跨域问题
访问我的博客 前言 最近遇到了跨域问题,结合之前[微信支付开发本地接收异步通知回调]的经验,利用 Nginx 实现了跨域. 公司之前为了解决跨域问题,用的是 iFrame,反正对于只做后端的我而言,觉 ...
- Ice简介+Qt代码示例
1.ICE是什么? ICE是ZEROC的开源通信协议产品,它的全称是:The Internet Communications Engine,翻译为中文是互联网通信引擎,是一个面向对象的中间件,它封装并 ...