详解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标准库内置函数complex介绍
Nov 25 Python
python基础之入门必看操作
Jul 26 Python
python3.6连接MySQL和表的创建与删除实例代码
Dec 28 Python
python实现银联支付和支付宝支付接入
May 07 Python
Pandas DataFrame数据的更改、插入新增的列和行的方法
Jun 25 Python
python如何获取列表中每个元素的下标位置
Jul 01 Python
Python Django框架url反向解析实现动态生成对应的url链接示例
Oct 18 Python
PyTorch实现ResNet50、ResNet101和ResNet152示例
Jan 14 Python
tensorflow 初始化未初始化的变量实例
Feb 06 Python
解决pycharm每次打开项目都需要配置解释器和安装库问题
Feb 26 Python
DjangoWeb使用Datatable进行后端分页的实现
May 18 Python
python从ftp获取文件并下载到本地
Dec 05 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
全国FM电台频率大全 - 4 山西省
2020/03/11 无线电
基于PHP CURL获取邮箱地址的详解
2013/06/03 PHP
PHP对接微信公众平台消息接口开发流程教程
2014/03/25 PHP
Smarty变量用法详解
2016/05/11 PHP
php中实现字符串翻转的方法
2017/02/22 PHP
php实时倒计时功能实现方法详解
2017/02/27 PHP
实例讲解YII2中多表关联的使用方法
2017/07/21 PHP
Jquery 一次处理多个ajax请求的代码
2011/09/02 Javascript
PHP PDO操作总结
2014/11/17 Javascript
JS+CSS实现简易的滑动门效果代码
2015/09/24 Javascript
JS清除文本框内容离开在恢复及鼠标离开文本框时触发js的方法
2016/01/12 Javascript
nodejs集成sqlite使用示例
2017/06/05 NodeJs
jQuery实现导航栏头部菜单项点击后变换颜色的方法
2017/07/19 jQuery
Vue.js@2.6.10更新内置错误处机制Fundebug同步支持相应错误监控
2019/05/13 Javascript
VueCli4项目配置反向代理proxy的方法步骤
2020/05/17 Javascript
Vue记住滚动条和实现下拉加载的完美方法
2020/07/31 Javascript
Vuex实现简单购物车
2021/01/10 Vue.js
python使用sorted函数对列表进行排序的方法
2015/04/04 Python
将Python中的数据存储到系统本地的简单方法
2015/04/11 Python
Python3.2中Print函数用法实例详解
2015/05/19 Python
利用Python读取文件的四种不同方法比对
2017/05/18 Python
Python 3.6 性能测试框架Locust安装及使用方法(详解)
2017/10/11 Python
用于业余项目的8个优秀Python库
2018/09/21 Python
Python3非对称加密算法RSA实例详解
2018/12/06 Python
python使用PIL剪切和拼接图片
2020/03/23 Python
python调用有道智云API实现文件批量翻译
2020/10/10 Python
Corelle官方网站:购买康宁餐具
2016/11/02 全球购物
物流管理专业职业生涯规划书
2014/01/06 职场文书
家长会演讲稿范文
2014/01/10 职场文书
2014年宣传部个人工作总结
2014/12/06 职场文书
员工辞职信范文大全
2015/05/12 职场文书
学校后勤工作总结2015
2015/05/15 职场文书
干货干货!2019最新优秀创业计划书
2019/03/21 职场文书
2019年“我为祖国点赞”演讲稿(3篇)
2019/09/26 职场文书
CSS3新特性详解(五):多列columns column-count和flex布局
2021/04/30 HTML / CSS
go mod 安装依赖 unkown revision问题的解决方案
2021/05/06 Golang