详解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 相关文章推荐
py中的目录与文件判别代码
Jul 16 Python
详细介绍Python函数中的默认参数
Mar 30 Python
在Python中操作字符串之replace()方法的使用
May 19 Python
Python 如何访问外围作用域中的变量
Sep 11 Python
PyQt 线程类 QThread使用详解
Jul 16 Python
Python基于OpenCV库Adaboost实现人脸识别功能详解
Aug 25 Python
学习python可以干什么
Feb 26 Python
python中pytest收集用例规则与运行指定用例详解
Jun 27 Python
Python计算两个矩形重合面积代码实例
Sep 16 Python
使用Pandas将inf, nan转化成特定的值
Dec 19 Python
python 指定源路径来解决import问题的操作
Mar 04 Python
关于Python中*args和**kwargs的深入理解
Aug 07 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
咖啡豆要不要放冰箱的原因
2021/03/04 冲泡冲煮
PHP 之 写时复制介绍(Copy On Write)
2014/05/13 PHP
ThinkPHP提示错误Fatal error: Allowed memory size的解决方法
2015/02/12 PHP
php正则表达式获取内容所有链接
2015/07/24 PHP
PHP中单例模式的使用场景与使用方法讲解
2019/03/18 PHP
Ext面向对象开发实践(续)
2008/11/18 Javascript
Jquery 实现checkbox全选方法
2015/01/28 Javascript
js实现九宫格图片半透明渐显特效的方法
2015/02/16 Javascript
JavaScript 实现的 zip 压缩和解压缩工具包Zip.js使用详解
2015/12/14 Javascript
Angular.js跨controller实现参数传递的两种方法
2017/02/20 Javascript
Bootstrap下拉菜单Dropdowns的实现代码
2017/03/17 Javascript
一篇看懂vuejs的状态管理神器 vuex状态管理模式
2017/04/20 Javascript
vue使用Axios做ajax请求详解
2017/06/07 Javascript
Angular2生命周期钩子函数的详细介绍
2017/07/10 Javascript
JavaScript实现精美个性导航栏筋斗云效果
2017/10/29 Javascript
vue判断input输入内容全是空格的方法
2018/03/02 Javascript
three.js实现炫酷的全景3D重力感应
2018/12/30 Javascript
vue ssr 实现方式(学习笔记)
2019/01/18 Javascript
vue响应式更新机制及不使用框架实现简单的数据双向绑定问题
2019/06/27 Javascript
序列化模块json代码实例详解
2020/03/03 Javascript
[51:36]EG vs VP 2018国际邀请赛淘汰赛BO3 第一场 8.24
2018/08/25 DOTA
python如何使用unittest测试接口
2018/04/04 Python
Python Pandas 箱线图的实现
2019/07/23 Python
Python对列表的操作知识点详解
2019/08/20 Python
python socket 聊天室实例代码详解
2019/11/14 Python
python requests库的使用
2021/01/06 Python
天巡全球:Skyscanner Global
2017/06/20 全球购物
BRASTY捷克:购买香水、化妆品、手袋和手表
2017/07/12 全球购物
New Balance加拿大官方网站:运动鞋和健身服装
2018/11/19 全球购物
安全生产一岗双责责任书
2014/07/28 职场文书
小学生作文批改评语
2014/12/25 职场文书
幼儿园教师师德师风承诺书
2015/04/28 职场文书
2015年保育员个人工作总结
2015/05/13 职场文书
幼儿园春季开学通知
2015/07/16 职场文书
委托开发合同书(标准版)
2019/08/07 职场文书
MySQL系列之十一 日志记录
2021/07/02 MySQL