appium+python 启动一个app步骤
询问度娘搭好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:
2.勾选build-tools,选中一个版本
3.下载完成后,在D:\APP\android-sdk_r24.4.1-windows\android-sdk-windows\build-tools\25.0.2目录下找到aapt.exe,并将该路径设置环境变量,添加到path下;
4.打开cmd,输入aapt出现如下界面,说明环境OK了
二、获取apk包名
1.将准备测试的apk放到D盘某个目录,如D:\test
2.打开cmd,输入指令aapt dump badging D:\test\xxx.apk
3.以taobao.apk为例,如图:
4.在这里可以看到apk包名:com.taobao.taobao
三、获取launcherActivity
1.接着上一步操作,cmd屏幕拖到中间找到launcherActivity
2.这里可以看到,淘宝的laucherActivity值为com.taobao.tao.welcome.Welcome
四、写脚本
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,右上角变成三角形
2.确认手机连上电脑
3.在pycharm运行脚本,随后在手机(手机不要设置锁屏),会看到app被自动启动了!!!
4.成功!!
后面继续一起学习!!!
最新文章
- 使用PowerDesigner设计建造MySQL数据库
- 利用Oracle自带的impdp和expdp进行简单备份
- [JS7] 显示从0到99的100个数字
- 批量处理_cmd_matlab
- android学习---- WindowManager 接口 (
- Apache CXF实现Web Service(2)——不借助重量级Web容器和Spring实现一个纯的JAX-RS(RESTful) web service
- Codeforces Round #308 (Div. 2) C. Vanya and Scales dfs
- php中__autoload()方法详解
- win64位 apache2.4 php5.4 mysql5.6
- JSON理解
- Flask -- 消息闪现、错误处理
- CodeForces 621C Wet Shark and Flowers
- lambda高级进阶--延迟执行
- LeetCode &; Q189-Rotate Array-Easy
- [SCOI2008]着色方案
- 数据结构(java版)学习笔记(一)——线性表
- [RHEL 6]GPT分区--parted
- denyhosts、中文文档乱码、端口占用查询
- MyEclipse导入Maven项目以及Maven转化为Dynamic Web Module(转)
- myeclipse复制的文件代码乱码
热门文章
- CMS 源码解读
- 06_Spring JDBCTemplate
- 16_k近邻算法总结
- Frame用navigate导航到新页面后导航条隐藏的方法
- Linux常见问题解答--如何修复“tar:Exiting with failure status due to previous errors”
- base64,AES,RSA,SHA和MD5等加密方式(jdk)
- vue.js axios实现跨域http请求接口
- windows 服务下搭建jsp运行环境
- 阿里云 Aliplayer高级功能介绍(七):多分辨率
- MaxCompute,基于Serverless的高可用大数据服务