详解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 相关文章推荐
使用wxpython实现的一个简单图片浏览器实例
Jul 10 Python
Python入门篇之字符串
Oct 17 Python
Python爬虫之xlml解析库(全面了解)
Aug 08 Python
深入学习Python中的上下文管理器与else块
Aug 27 Python
Pandas实现dataframe和np.array的相互转换
Nov 30 Python
Python实现的北京积分落户数据分析示例
Mar 27 Python
python DES加密与解密及hex输出和bs64格式输出的实现代码
Apr 13 Python
Pyinstaller 打包发布经验总结
Jun 02 Python
Keras loss函数剖析
Jul 06 Python
Pytorch 扩展Tensor维度、压缩Tensor维度的方法
Sep 09 Python
python 基于selectors库实现文件上传与下载
Dec 31 Python
python中Matplotlib绘制直线的实例代码
Jul 04 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
php代码把全角数字转为半角数字
2007/12/10 PHP
php 正则匹配函数体
2009/08/25 PHP
PHP可变函数学习小结
2015/11/29 PHP
支持ie与FireFox的剪切板操作代码
2009/09/28 Javascript
扩展jquery实现客户端表格的分页、排序功能代码
2011/03/16 Javascript
jquery 如何动态添加、删除class样式方法介绍
2012/11/07 Javascript
一个仿糯米弹框效果demo
2014/07/22 Javascript
JavaScript实现继承的4种方法总结
2014/10/16 Javascript
JavaScript实现输入框与清空按钮联动效果
2016/09/09 Javascript
JS实现显示当前日期的实例代码
2018/07/03 Javascript
Vue-cli3简单使用(图文步骤)
2019/04/30 Javascript
Python微信公众号开发平台
2018/01/25 Python
python对离散变量的one-hot编码方法
2018/07/11 Python
Python爬虫框架scrapy实现的文件下载功能示例
2018/08/04 Python
python多线程共享变量的使用和效率方法
2019/07/16 Python
django基于存储在前端的token用户认证解析
2019/08/06 Python
flask 框架操作MySQL数据库简单示例
2020/02/02 Python
Python实现UDP程序通信过程图解
2020/05/15 Python
html5基础教程常用技巧整理
2013/08/20 HTML / CSS
加拿大最大的书店:Indigo
2017/01/01 全球购物
高性能装备提升营地:Kammok
2019/02/27 全球购物
与世界上最好的跑步专业品牌合作:Fleet Feet
2019/03/22 全球购物
Doyoueven官网:澳大利亚健身服饰和配饰品牌
2019/03/24 全球购物
英国Radley包德国官网:Radley London德国
2019/11/18 全球购物
教师岗位职责范本
2013/12/29 职场文书
大学生思想汇报范文
2013/12/31 职场文书
青年教师培训方案
2014/02/06 职场文书
小学教师师德整改措施
2014/09/29 职场文书
抗洪救灾标语
2014/10/08 职场文书
信访维稳工作汇报
2014/10/27 职场文书
鼋头渚导游词
2015/02/05 职场文书
上市公司财务总监岗位职责
2015/04/03 职场文书
2015年行政人事部工作总结
2015/05/13 职场文书
父母教会我观后感
2015/06/17 职场文书
2016入党积极分子党校培训心得体会
2016/01/06 职场文书
SpringBoot中HttpSessionListener的简单使用方式
2022/03/17 Java/Android