python2.7+appium环境搭建
实现android自动化
目录
1、环境准备、安装包准备
2、安装
3、验证环境搭建成功
1、环境准备、安装包准备
第一步:环境准备:
java环境

python环境

第二步:准备安装包
Node.js:node-v4.4.7-x64(链接:https://pan.baidu.com/s/1ibh0d01JE-Er0he1tmsDrw 提取码:jils)
.net framework4.5(链接:https://pan.baidu.com/s/1teb3AJ2TOWX-7b-pzGeo9Q 提取码:kh0j)
android-sdk_r24.3.4-windows(链接:https://pan.baidu.com/s/1MjJjxIYsrdFwvL8evLm3og 提取码:wgf5)
appium:1.4.13.1(链接:https://pan.baidu.com/s/12XYVoV0NoeHII_5ffxIgsw 提取码:xbtf)
2、安装
第一步:安装Node.js,是因为appium官网写的要装这个


第二步:安装.net framework,是因为appium是基于.net开发的,双击正常完成安装
因为我的电脑已安装,则提示已安装

第三步:准备好sdk的包,配置到环境变量中
ANDROID_HOME :E:\android-sdk_r24.3.4-windows\android-sdk-windows
path:E:\android-sdk_r24.3.4-windows\android-sdk-windows\tools;E:\android-sdk_r24.3.4-windows\android-sdk-windows\platform-tools
第四步:因为本文中的platform-tools没有东西,所以需要下载
双击SDK Manager.exe,下载platform-tools和更新tools

连接手机,打开usb调试开关,输入adb device,验收是否连接成功
确认手机打开了usb调试模式


第四步:appium的相关安装配置
01安装appium,双击appium-installer.exe文件安装就好;

02配置appium-doctor,在安装完appium后,找到E:\Program Files (x86)\Appium\node_modules\.bin,配置到path中,输入appium-doctor验证是否配置正确;

03安装Appium-Python-Client(对webdriver原生api的一些扩展和封装)
在线安装:pip install Appium-Python-Client,如在线安装不成功,则离线安装,在https://pypi.org/project/Appium-Python-Client/链接https://pan.baidu.com/s/1bhuJsAA0u9QcsphZN7lazQ 提取码:f9sq下载压缩包,解压后,找到setup.py,进入其所在目录,在命令行输入python setup.py install,完成库文件的安装

第五步:下载aapt,为了(查看apk包名和launcherActivity)
双击SDK-manager.exe ,下载buidl-tools 24的版本,在E:\android-sdk_r24.3.4-windows\android-sdk-windows\build-tools\24.0.0目录下找到aapt.exe,将这个路径设置环境变量,添加到path下

3、验证环境搭建成功
第一步:通过adb device 得到deviceName

第二步:通过aapt dump badging E:\xx\base.apk得到apk包名和apk的launcherActivity


第三步:通过打开appium拿到路径和端口号

第四步:编写脚本,运行通过后,会在手机上生成2个apk,则环境配置成功
# coding=utf-8
from appium import webdriver
desired_caps = {
'platformName': 'Android',
'deviceName': 'SN',
'platformVersion': '5.1',
# apk包名
'appPackage': 'com.xx.xx',
# apk的launcherActivity
'appActivity': 'com.xx'
}
driver = webdriver.Remote('http://127.0.0.1:4723/wd/hub', desired_caps)

注意:
1、连接手机没有得到SN号原因:手机USB调试模式没打开,反复开关调试模式即可
2、运行脚本,from appium import导入报错“ImportError: cannot import name'InvalidArgumentException”,解决方案见https://www.cnblogs.com/ou-ya/p/9514381.html
3、本篇并没有写通过SDK-manager.exe下载模拟器相关的内容,因电脑较卡,打算用真机来调试
python2.7+appium环境搭建的更多相关文章
- Robot framework + appium环境搭建
Robot framework+appium环境搭建 首先梳理一下要用到的工具和安装包: 1. Android + JAVA. jdk : http://www.oracle.com/technetw ...
- Appium环境搭建说明(包括报错处理)
Appium环境搭建说明 一.环境配置 前提是windows系统已安装以下软件: 1.jdk 我装的是1.8.0 2.android-sdk 3.python,3.4-3.6 5.Node.js,v8 ...
- (干货分享)mac python+appium环境搭建
因为mac本自带python2.x(不建议卸载,因为本本本身有很多依赖与此),所以装python3的过程极其坎坷,勉强装好后也总是各种报错.这次装appium环境,直接把原来的python3卸了,用h ...
- RF+Appium框架自动化测试系列一之(Mac下Appium环境搭建)万事开头难
消失了3个月,有一段时间没来园子更新博客了,各位看官见谅哈哈,消失是因为刚换了工作环境没外网,好多笔记没能及时的记录分享,以后有时间慢慢补上吧,这段时间主要接触了移动端app的自动化测试,公司为了快速 ...
- Appium python自动化测试系列之appium环境搭建(二)
2.1 基础环境搭建 当我们学习新的一项技术开始基本都是从环境搭建开始,本书除了第一章节也是的,如果你连最基础的环境都没有那么我们也没必要去说太多,大概介绍一下: 1.因为appium是支持andr ...
- Python + Appium 环境搭建
---恢复内容开始--- Appium自动化公司内部测试培训1-环境搭建 课程目的 一.Python + Appium 环境搭建 课程内容 1 安装前准备工作 搭建环境所需要的安装文件已经下载好 ...
- Python+Appium环境搭建
1.python环境搭建,这里就不做过多介绍 2.安装 node.js 2.1.官网下载node.js:https://nodejs.org/en/download/ 2.2.获取到安装文件后,直接双 ...
- Mac OS下Appium环境搭建及Genymotion模拟器安装
说明:本机Mac本上已经安装的有:Python3.JDK.Node.js. Selenium Appium环境搭建 Step1:安装Appium Python Client库 1,命令:pip ins ...
- 基于Python的Appium环境搭建合集
自动化一直是测试圈中的热聊,也是大家追求的技术方向.在测试中,往往回归测试也是测试人员的“痛点”.对于迭代慢.变更少的功能,就能用上自动化来替代人工回归,减轻工作量. 问题 在分享环境搭建之前,先抛出 ...
随机推荐
- 为什么你不看好家教O2O
伴随着科技的不断进步,大众创业的激情在不断的燃烧着,于是又很多的朋友会往家教这条路上走.就有了家教O2O的出现,很多的人都在抢占市场,可是,为什么你不看好家教O2O? 家教O2O虽然能够帮助附近的朋友 ...
- 010-流程控制 while 与 until 语句
流程控制 while 与 until 语句 while循环是不定循环,也称作条件循环,只要条件成立,循环就一直继续.与for的固定循环不同 until只要条件不成立,循环就一直继续 #!/bin/ba ...
- ffmpeg使用分析视频
https://www.cnblogs.com/Finley/p/8646711.html 先存下
- 3--面试总结-es6
es6文档:http://es6.ruanyifeng.com/1.es6新特性 let/const 变量的解构赋值(数组的解构赋值,对象的解构赋值,字符串的解构赋值,数值和布尔值的解构赋值,函数参数 ...
- css 3D动画
一.今天让我们来学习一下css 3D吧! 1.首先我们要学习好css3 3d一定要有一定的立体感! 2.再来那就聊聊原理吧! 3.css3 3d 顾名思义是由两个2d名片组成的 但不是让你建立连个2d ...
- vue中的v-model原理,与组件自定义v-model
VUE中的v-model可以实现双向绑定,但是原理是什么呢?往下看看吧 根据官方文档的解释,v-model其实是一个语法糖,它会自动的在元素或者组件上面解析为 :value="" ...
- [springboot jpa] [bug] Could not open JPA EntityManager for transaction
前言 最近,测试环境遇到了一个问题.经过一番百度加谷歌,终于解决了这个问题.写下这篇博客是为了记录下解决过程,以便以后查看.也希望可以帮助更多的人. 环境 java版本:8 框架:spring clo ...
- 封装类和非封装类比较相同不int和Integer
A.所有和int(非封装类比较的,只要数值相同就行) B.io3由valueof弄出来的,所以和io1相同 C.io4是new出来的,所以地址不一样,就不相同 D.和A相同
- jquery attr()方法获取input的checked属性问题
问题:经常使用jQuery插件的attr方法获取checked属性值,获取的值的大小为未定义,此时可以用prop方法获取其真实值,下面介绍这两种方法的区别: 1.通过prop方法获取checked属性 ...
- NSDate 那点事
转载自:http://my.oschina.net/yongbin45/blog/150114 NSDate对象用来表示一个具体的时间点. NSDate是一个类簇,我们所使用的NSDate对象,都是N ...