询问度娘搭好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.成功!!

  后面继续一起学习!!!

  

最新文章

  1. 使用PowerDesigner设计建造MySQL数据库
  2. 利用Oracle自带的impdp和expdp进行简单备份
  3. [JS7] 显示从0到99的100个数字
  4. 批量处理_cmd_matlab
  5. android学习---- WindowManager 接口 (
  6. Apache CXF实现Web Service(2)——不借助重量级Web容器和Spring实现一个纯的JAX-RS(RESTful) web service
  7. Codeforces Round #308 (Div. 2) C. Vanya and Scales dfs
  8. php中__autoload()方法详解
  9. win64位 apache2.4 php5.4 mysql5.6
  10. JSON理解
  11. Flask -- 消息闪现、错误处理
  12. CodeForces 621C Wet Shark and Flowers
  13. lambda高级进阶--延迟执行
  14. LeetCode & Q189-Rotate Array-Easy
  15. [SCOI2008]着色方案
  16. 数据结构(java版)学习笔记(一)——线性表
  17. [RHEL 6]GPT分区--parted
  18. denyhosts、中文文档乱码、端口占用查询
  19. MyEclipse导入Maven项目以及Maven转化为Dynamic Web Module(转)
  20. myeclipse复制的文件代码乱码

热门文章

  1. CMS 源码解读
  2. 06_Spring JDBCTemplate
  3. 16_k近邻算法总结
  4. Frame用navigate导航到新页面后导航条隐藏的方法
  5. Linux常见问题解答--如何修复“tar:Exiting with failure status due to previous errors”
  6. base64,AES,RSA,SHA和MD5等加密方式(jdk)
  7. vue.js axios实现跨域http请求接口
  8. windows 服务下搭建jsp运行环境
  9. 阿里云 Aliplayer高级功能介绍(七):多分辨率
  10. MaxCompute,基于Serverless的高可用大数据服务