Android自动化测试在monkey runner中怎样获取应用程序的启动名
来源:互联网 发布:mac新建txt文件 编辑:程序博客网 时间:2024/05/29 04:34
使用android自动化测试工具monkeyrunner启动应用时,需要填写被测程序的包名和启动的Activity,以下有两种查看应用包名package和入口activity名称的方法:
方法一:使用aapt //aapt是sdk自带的一个工具,在sdk\builds-tools\目录下
1.以ES文件浏览器为例,命令行中切换到aapt.exe目录执行:aapt dump badging E:\apk\es3.apk
2.运行后的结果中以下两行分别是应用包名package和入口activity名称
package: name=’com.estrongs.android.pop’
launchable-activity: name=’com.estrongs.android.pop.view.FileExplorerActivity’
注:在android sdk目录搜索可以找到aapt.exe,如果没有可以下载apktool。
方法二:查看AndroidManifest.xml
1.使用apktool反编译app:apktool.bat d es3.apk E:\apk\es
2.打开AndroidManifest.xml
manifest节点的package属性值是应用的包名:<manifest package=”com.estrongs.android.pop”>
查找android.intent.action.MAIN和android.intent.category.LAUNCHER对应的activity,该activity对应的android:name属性既是入口activity名称,如下:
<activity android:theme=”@*android tyle/Theme.NoTitleBar” android:label=”@string/app_name” android:name=”com.estrongs.android.pop.view.FileExplorerActivity”>
<intent-filter>
<action android:name=”android.intent.action.MAIN” />
<category android:name=”android.intent.category.LAUNCHER” />
</intent-filter>
</activity>
android.intent.action.MAIN决定应用程序最先启动的Activity
android.intent.category.LAUNCHER决定应用程序是否显示在程序列表里
1. monkeyrunner的位置
学习monkeyrunner的童鞋们应该都有自己安装的android sdk环境,而monkeyrunner的工具位于android sdk/tools/monkeyrunner.bat文件
2.如何快速的在命令行打开monkeyrunner
将android sdk/tools目录加入到环境变量的path中
3.先运行http://developer.android.com/tools/help/monkeyrunner_concepts.html官网上的例子程序
注:monkeyrunner只是一组API,需要使用python脚本去调用
分析:program.py文件
点击(此处)折叠或打开
- # Imports the monkeyrunner modules used by this program
- from com.android.monkeyrunner import MonkeyRunner,MonkeyDevice,MonkeyImage
- import time
- # Connects to the current device, returning a MonkeyDevice object
- device = MonkeyRunner.waitForConnection() #连接设备
- # Installs the Android package. Notice that this method returns a boolean, so you can test
- # to see if the installation worked.
- device.installPackage('./360explorer-4.2.8-0910.4.apk') #安装apk包,./表示该包和monkeyrunner.bat在同一个目录
- package = 'com.qihoo.explorer' #apk包名
- activity = 'com.qihoo.explorer.HomeActivity' #apk的activity名称, 包名和anctivity名称可以通过aapt命令获取
- runComponent = package + '/' + activity
- device.startActivity(component=runComponent) #启动应用程序
- device.press('KEYCODE_MENU','DOWN_AND_UP') #KEYCODE_MENU表示菜单键,打开菜单
- time.sleep(10) #暂停10秒
- result =device.takeSnapshot() #截图
- result.writeToFile('./shot1.png','png') #将截图存放到和monkeyrunner.bat同一个目录下的shot1.png中
命令行下执行monkeyrunner program.py
提示错误如下:
Can't open specified script file
Usage: monkeyrunner [options] SCRIPT_FILE
-s MonkeyServer IP Address.
-p MonkeyServer TCP Port.
-v MonkeyServer Logging level (ALL, FINEST, FINER, FINE, CONFIG, INFO, WARNING, SEVERE, OFF)
解决办法:
monkeyrunner program.py的全路径
步骤如下:
1.先把apk包安装到手机上,
2.在android手机或者模拟器上配置Python环境
3.然后编写代码如下:
import android
import pprint
droid=android.Android()
apps=droid.getLaunchableApplications()
pprint.pprint(apps.result)
print '-------------------------------------'
pacs=droid.getRunningPackages()
pprint.pprint(pacs.result)
4.运行上面的代码,就可以获得应用程序的startActivity与package name
5.,通过下面的程序,测试apk
import sys
from com.android.monkeyrunner import MonkeyRunner,MonkeyDevice
device=MonkeyRunner.waitForConnection()
device.startActivity(component='package name/startActivity name')
- Android自动化测试在monkey runner中怎样获取应用程序的启动名
- Android的Monkey自动化测试
- Android的monkey测试、自动化压力测试
- android 自动化测试 monkey
- android自动化测试 MONKEY
- android 自动化测试monkey
- Android Monkey自动化测试
- Android自动化测试 - Monkey
- android monkey自动化测试
- android monkey自动化测试
- android自动化测试 Monkey
- Android Monkey自动化测试
- Android自动化测试 -- Monkey
- 怎样用Android中的monkey对应用程序做自动化压力测试
- 基于Monkey的Android自动化测试
- Android使用Monkey的自动化测试
- Android自动化测试--monkey的使用
- Android自动化测试monkey的使用
- 创建和使用Android library工程
- C#代码性能技巧二(亲测)
- sitecore 安装zip包报错 ‘Installation was aborted by user’
- iOS app之间共享数据的几种方法
- 今天事真多 哎呦我去了!
- Android自动化测试在monkey runner中怎样获取应用程序的启动名
- 软件设计模式与原则2
- Java Commons-io文件操作类分享
- SQL Server中关于标识列的使用说明
- C语言实现C++多态
- oracle中的归档日志和数据库备份的区别
- 祈福马航 希望中国同胞能安全回家祈福马航
- Hibernate 缓存
- SSH框架的简单搭建步骤