实现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环境搭建的更多相关文章

  1. Robot framework + appium环境搭建

    Robot framework+appium环境搭建 首先梳理一下要用到的工具和安装包: 1. Android + JAVA. jdk : http://www.oracle.com/technetw ...

  2. Appium环境搭建说明(包括报错处理)

    Appium环境搭建说明 一.环境配置 前提是windows系统已安装以下软件: 1.jdk 我装的是1.8.0 2.android-sdk 3.python,3.4-3.6 5.Node.js,v8 ...

  3. (干货分享)mac python+appium环境搭建

    因为mac本自带python2.x(不建议卸载,因为本本本身有很多依赖与此),所以装python3的过程极其坎坷,勉强装好后也总是各种报错.这次装appium环境,直接把原来的python3卸了,用h ...

  4. RF+Appium框架自动化测试系列一之(Mac下Appium环境搭建)万事开头难

    消失了3个月,有一段时间没来园子更新博客了,各位看官见谅哈哈,消失是因为刚换了工作环境没外网,好多笔记没能及时的记录分享,以后有时间慢慢补上吧,这段时间主要接触了移动端app的自动化测试,公司为了快速 ...

  5. Appium python自动化测试系列之appium环境搭建(二)

    ​2.1 基础环境搭建 当我们学习新的一项技术开始基本都是从环境搭建开始,本书除了第一章节也是的,如果你连最基础的环境都没有那么我们也没必要去说太多,大概介绍一下: 1.因为appium是支持andr ...

  6. Python + Appium 环境搭建

    ---恢复内容开始--- Appium自动化公司内部测试培训1-环境搭建 课程目的 一.Python + Appium 环境搭建 课程内容 1    安装前准备工作 搭建环境所需要的安装文件已经下载好 ...

  7. Python+Appium环境搭建

    1.python环境搭建,这里就不做过多介绍 2.安装 node.js 2.1.官网下载node.js:https://nodejs.org/en/download/ 2.2.获取到安装文件后,直接双 ...

  8. Mac OS下Appium环境搭建及Genymotion模拟器安装

    说明:本机Mac本上已经安装的有:Python3.JDK.Node.js. Selenium Appium环境搭建 Step1:安装Appium Python Client库 1,命令:pip ins ...

  9. 基于Python的Appium环境搭建合集

    自动化一直是测试圈中的热聊,也是大家追求的技术方向.在测试中,往往回归测试也是测试人员的“痛点”.对于迭代慢.变更少的功能,就能用上自动化来替代人工回归,减轻工作量. 问题 在分享环境搭建之前,先抛出 ...

随机推荐

  1. ModelForm操作

    ModelForm a. class Meta: model, # 对应Model的 fields=None, # 字段 exclude=None, # 排除字段 labels=None, # 提示信 ...

  2. MySql+EF+CodeFirst

    ef+mssql详细是许多.net程序员的标配.作为一个程序员当然不能只会mssql这一个数据库,今天简单聊聊ef+mysql.推荐新人阅读. 1]首先创建一个mvc项目,如图: 创建完毕之后再nug ...

  3. ISC2016训练赛 phrackCTF--Smali

    测试文件:https://static2.ichunqiu.com/icq/resources/fileupload/phrackCTF/REVERSE/Crackme.smali 参考资料:http ...

  4. Vue实现二级菜单的显示与隐藏

    <html> <head> <title>Vue实现二级菜单的显示与隐藏</title> <script src="vue.js&quo ...

  5. Java Web学习总结(4)HttpServletResponse

    Web服务器收到客户端的http请求,会针对每一次请求,分别创建一个用于代表请求的request对象.和代表响应的response对象.获取网页提交过来的数据,只需要找request对象就行了.要向网 ...

  6. fpga延时程序编写

    //工匠小建 延时计数 100微妙计数 50M*0.00001-1 (个人理解:1s中50M次动作.那么100us多少次动作.做完这些动作就是延时)parameter delay_100us=16'd ...

  7. 【转】/etc/inittab文件详解

    转自:https://www.cnblogs.com/ricks/p/10020886.html Linux在完成核内引导(已经被载入内存,开始运行,并已初始化所有的设备驱动程序和数据结构等)之后,就 ...

  8. Python核心技术与实战——十一|程序的模块化

    我们现在已经总结了Python的基本招式和套路,现在可以写一些不那么简单的系统性工程或代码量较大的应用程序.这时候,一个简单的.py文件就会显得过于臃肿,无法承担一个重量级软件开发的重任.这就需要这一 ...

  9. jvm 堆

    1.堆内存线程共享,在虚拟机启动时创建. 2.几乎所有的对象实例都在堆上分配:栈中存放基本数据类型和堆中对象的引用. GC回收 程序计数器.虚拟机栈.本地方法栈随线程而生,随线程而灭.栈中的栈帧随着方 ...

  10. quartz 时间配置

    Quartz中时间表达式的设置-----corn表达式 (注:这是让我看比较明白的一个博文,但是抱歉,没有找到原作者,如有侵犯,请告知) 时间格式: <!-- s m h d m w(?) y( ...