详解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 实现随机数详解及实例代码
Apr 15 Python
彻底理解Python list切片原理
Oct 27 Python
Python如何抓取天猫商品详细信息及交易记录
Feb 23 Python
用python处理MS Word的实例讲解
May 08 Python
python实现逆序输出一个数字的示例讲解
Jun 25 Python
Python实现的批量修改文件后缀名操作示例
Dec 07 Python
Python2和Python3之间的str处理方式导致乱码的讲解
Jan 03 Python
解决Django删除migrations文件夹中的文件后出现的异常问题
Aug 31 Python
python双端队列原理、实现与使用方法分析
Nov 27 Python
利用PyCharm操作Github(仓库新建、更新,代码回滚)
Dec 18 Python
用Python爬取英雄联盟的皮肤详细示例
Dec 06 Python
python区块链持久化和命令行接口实现简版
May 25 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
Linux下 php5 MySQL5 Apache2 phpMyAdmin ZendOptimizer安装与配置[图文]
2008/11/18 PHP
php中强制下载文件的代码(解决了IE下中文文件名乱码问题)
2011/05/09 PHP
php数组转换js数组操作及json_encode的用法详解
2013/10/26 PHP
php+mysql大量用户登录解决方案分析
2014/12/29 PHP
PHP几个实用自定义函数小结
2016/01/25 PHP
yii2超好用的日期组件和时间组件
2016/05/05 PHP
Javascript YUI 读码日记之 YAHOO.util.Dom - Part.2 0
2008/03/22 Javascript
javascript 面向对象编程 万物皆对象
2009/09/17 Javascript
详解JavaScript编程中正则表达式的使用
2015/10/25 Javascript
jQuery与Ajax以及序列化
2016/02/01 Javascript
jQueryUI DatePicker 添加时分秒
2016/06/04 Javascript
JS基于递归实现倒计时效果的方法
2016/11/26 Javascript
jQuery插件FusionCharts实现的3D柱状图效果实例【附demo源码下载】
2017/03/03 Javascript
JS实现留言板功能[楼层效果展示]
2017/12/27 Javascript
jQuery实现的鼠标响应缓冲动画效果示例
2018/02/13 jQuery
JavaScript如何实现监听键盘输入和鼠标监点击
2020/07/20 Javascript
快速解决Vue、element-ui的resetFields()方法重置表单无效的问题
2020/08/12 Javascript
[03:56]显微镜下的DOTA2第十一期——鬼畜的死亡先知播音员
2014/06/23 DOTA
[01:36:19]Secret vs NB 2018国际邀请赛小组赛BO2 第一场 8.19
2018/08/21 DOTA
python中使用enumerate函数遍历元素实例
2014/06/16 Python
python里将list中元素依次向前移动一位
2014/09/12 Python
Python爬虫基础之XPath语法与lxml库的用法详解
2018/09/13 Python
python图片剪裁代码(图片按四个点坐标剪裁)
2020/03/10 Python
如何用Python进行时间序列分解和预测
2021/03/01 Python
英国儿童图书网站:Scholastic
2017/03/26 全球购物
Woods官网:加拿大最古老、最受尊敬的户外品牌之一
2020/09/12 全球购物
大三在校生电子商务求职信
2013/10/29 职场文书
个人承诺书
2014/03/26 职场文书
2014年技术部工作总结
2014/12/12 职场文书
运动会通讯稿100字
2015/07/20 职场文书
演讲稿之感恩老师(三篇范文)
2019/09/06 职场文书
详解TypeScript中的类型保护
2021/04/29 Javascript
教你用Java Swing实现自助取款机系统
2021/06/11 Java/Android
解决使用了nginx获取IP地址都是127.0.0.1 的问题
2021/09/25 Servers
Python爬虫入门案例之爬取二手房源数据
2021/10/16 Python
python中pymysql包操作数据库方法
2022/04/19 Python