详解appium+python 启动一个app步骤


Posted in Python onDecember 20, 2017

询问度娘搭好appium和python环境,开启移动app自动化的探索(基于Android),首先来记录下如何启动待测的app吧!

如何启动APP?1.获取包名;2.获取launcherActivity。获取这两个关键东西的方法很多,推荐使用sdk自带的aapt:aapt即Android Asset Packaging Tool,在SDK的build-tools目录下。该工具可以查看apk包名和launcherActivity,当然还有更多的功能,有兴趣的可以查看相关资料。

一、下载aapt:

1.在安卓-sdk里面双击SDK-manager,下载build-tools:

详解appium+python 启动一个app步骤

2.勾选build-tools,选中一个版本

详解appium+python 启动一个app步骤

3.下载完成后,在D:\APP\android-sdk_r24.4.1-windows\android-sdk-windows\build-tools\25.0.2目录下找到aapt.exe,并将该路径设置环境变量,添加到path下;

详解appium+python 启动一个app步骤

4.打开cmd,输入aapt出现如下界面,说明环境OK了

详解appium+python 启动一个app步骤

二、获取apk包名

1.将准备测试的apk放到D盘某个目录,如D:\test

2.打开cmd,输入指令aapt dump badging D:\test\xxx.apk

3.以taobao.apk为例,如图:

详解appium+python 启动一个app步骤

4.在这里可以看到apk包名:com.taobao.taobao

三、获取launcherActivity

1.接着上一步操作,cmd屏幕拖到中间找到launcherActivity

2.这里可以看到,淘宝的laucherActivity值为com.taobao.tao.welcome.Welcome

详解appium+python 启动一个app步骤

四、写脚本

1.platformName:这里是android的apk

2.deviceName:手机设备名称,通过adb devices查看

3.platformVersion:android系统的版本号

4.appPackage:apk包名

5.appActivity:apk的launcherActivity

# -*- coding:utf-8 -*-
'''本段代码非淘宝,而是本人实际操作的app'''
import os, time, unittest
from selenium import webdriver
PATH = lambda p:os.path.abspath(os.path.join(os.path.dirname(__file__),p))
desired_caps = {}
desired_caps['platformName'] = 'Android' # 设备系统
desired_caps['platformVersion'] = '6.0.1' # 设备系统版本
desired_caps['deviceName'] = 'MI 4LTE' # 设备名称
desired_caps['app'] = PATH(r"E:\tests\GuoYuB2B_2.1.apk")
desired_caps['appPackage'] = 'com.guoyu.b2b'
desired_caps['appActivity'] = 'com.guoyu.b2b.ui.activity.SplashActivity'
driver = webdriver.Remote("http://localhost:4723/wd/hub", desired_caps)
time.sleep(5)

五、运行appium

1.启动appium,右上角变成三角形

详解appium+python 启动一个app步骤

2.确认手机连上电脑

详解appium+python 启动一个app步骤

3.在pycharm运行脚本,随后在手机(手机不要设置锁屏),会看到app被自动启动了!!!

4.成功!!

后面继续一起学习!!!以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
Python中的CURL PycURL使用例子
Jun 01 Python
详解使用Python处理文件目录的相关方法
Oct 16 Python
Python中使用bidict模块双向字典结构的奇技淫巧
Jul 12 Python
基于使用paramiko执行远程linux主机命令(详解)
Oct 16 Python
python3.5基于TCP实现文件传输
Mar 20 Python
在mac下查找python包存放路径site-packages的实现方法
Nov 06 Python
Python3爬虫爬取百姓网列表并保存为json功能示例【基于request、lxml和json模块】
Dec 05 Python
selenium+python自动化测试之使用webdriver操作浏览器的方法
Jan 23 Python
Python如何基于rsa模块实现非对称加密与解密
Jan 03 Python
Python对wav文件的重采样实例
Feb 25 Python
使用BeautifulSoup4解析XML的方法小结
Dec 07 Python
PyTorch 实现L2正则化以及Dropout的操作
May 27 Python
浅谈Django自定义模板标签template_tags的用处
Dec 20 #Python
Python实现感知机(PLA)算法
Dec 20 #Python
详解Python nose单元测试框架的安装与使用
Dec 20 #Python
使用python实现knn算法
Dec 20 #Python
python实现kNN算法
Dec 20 #Python
解析Python中的eval()、exec()及其相关函数
Dec 20 #Python
详解Python中 sys.argv[]的用法简明解释
Dec 20 #Python
You might like
77A一级收信机修理记
2021/03/02 无线电
php自定义apk安装包实例
2014/10/20 PHP
PHP实现对数字分隔加千分号的方法
2019/03/18 PHP
jquery validation验证身份证号,护照,电话号码,email(实例代码)
2013/11/06 Javascript
javascript列表框操作函数集合汇总
2013/11/28 Javascript
利用javaScript实现点击输入框弹出窗体选择信息
2013/12/11 Javascript
js用typeof方法判断undefined类型
2014/07/15 Javascript
jQuery实现返回顶部功能适合不支持js的浏览器
2014/08/19 Javascript
编程语言JavaScript简介
2014/10/16 Javascript
js带前后翻页的图片切换效果代码分享
2015/09/08 Javascript
举例讲解JavaScript中将数组元素转换为字符串的方法
2015/10/25 Javascript
基于Jquery代码实现支持PC端手机端幻灯片代码
2015/11/17 Javascript
利用AJAX实现WordPress中的文章列表及评论的分页功能
2016/05/17 Javascript
jQuery 判断是否包含在数组中Array[]的方法
2016/08/03 Javascript
js 能实现监听F5页面刷新子iframe 而父页面不刷新的方法
2016/11/09 Javascript
Vue.js第一天学习笔记(数据的双向绑定、常用指令)
2016/12/01 Javascript
在node.js中怎么屏蔽掉favicon.ico的请求
2017/03/01 Javascript
Angular 4.x+Ionic3踩坑之Ionic3.x pop反向传值详解
2018/03/13 Javascript
angular项目中bootstrap-datetimepicker时间插件的使用示例
2018/03/15 Javascript
Vue文件配置全局变量的实例
2018/09/06 Javascript
微信小程序的线程架构【推荐】
2019/05/14 Javascript
微信小程序对图片进行canvas压缩的方法示例详解
2020/11/12 Javascript
[03:22]DSPL第一期精彩集锦:酷炫到底!
2014/11/07 DOTA
[43:32]Winstrike vs VGJ.S 2018国际邀请赛淘汰赛BO3 第一场 8.23
2018/08/24 DOTA
利用Python如何实现数据驱动的接口自动化测试
2018/05/11 Python
Python实现的爬取网易动态评论操作示例
2018/06/06 Python
对python中数据集划分函数StratifiedShuffleSplit的使用详解
2018/12/11 Python
python2.7实现邮件发送功能
2018/12/12 Python
如何分离django中的媒体、静态文件和网页
2019/11/12 Python
python 普通克里金(Kriging)法的实现
2019/12/19 Python
联想瑞士官方网站:Lenovo Switzerland
2017/11/19 全球购物
大学校庆邀请函
2014/01/11 职场文书
师范生自荐信模板
2014/05/28 职场文书
党的群众路线教育实践活动个人剖析材料
2014/10/07 职场文书
信仰观后感
2015/06/03 职场文书
银行求职信范文
2019/05/13 职场文书