一.主布局文件 activity_main.xml

<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
>
<EditText
android:id="@+id/edit_monkeyPackage"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:hint="@string/monkeypackage"
android:maxLines="" >
</EditText> <EditText
android:id="@+id/edit_monkeytime"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:hint="@string/monkeytime"
android:maxLines="" >
</EditText> <EditText
android:id="@+id/edit_monkeycount"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:hint="@string/monkeycount"
android:maxLines="" >
</EditText>
<Button
android:id="@+id/button_submit"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="@string/button_submit" /> <TextView
android:id="@+id/TextView_01"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:hint="@string/TextView_01" /> </LinearLayout>

二. res/values/strings.xml

<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="app_name">MonkeyTest</string>
<string name="action_settings">Settings</string>
<string name="hello_world">Hello world!</string>
<string name="monkeypackage">Input monkeyPackage</string>
<string name="monkeytime">Input monkeyTime</string>
<string name="monkeycount">Input monkeyCount</string>
<string name="button_submit">Submit</string>
<string name="TextView_01">Log Out</string> </resources>

三.主Activity文件 MainActivity.java

package com.example.runmonkeytest;

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader; import android.annotation.SuppressLint;
import android.app.Activity;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.view.View.OnClickListener;
import android.view.Window;
import android.widget.Button;
import android.widget.EditText; import android.widget.TextView;
import android.widget.Toast; @SuppressLint("NewApi")
public class MainActivity extends Activity { private EditText monkeyPackage;
private EditText monkeyTime;
private EditText monkeyCount;
private TextView LogOut; @Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
requestWindowFeature(Window.FEATURE_NO_TITLE);
setContentView(R.layout.activity_main); monkeyPackage = (EditText) findViewById(R.id.edit_monkeyPackage);
monkeyTime = (EditText) findViewById(R.id.edit_monkeytime);
monkeyCount = (EditText) findViewById(R.id.edit_monkeycount);
LogOut = (TextView) findViewById(R.id.TextView_01);
Button button1 =(Button) findViewById(R.id.button_submit); button1.setOnClickListener(new OnClickListener() {
public void onClick(View v) {
// Toast.makeText(MonkeyTestActivity.this, "You clicked Button Submit", Toast.LENGTH_SHORT).show();
String monkeyPackageContext = monkeyPackage.getText().toString();
String monkeyTimeContext = monkeyTime.getText().toString();
String monkeyCountContext = monkeyCount.getText().toString(); if(monkeyPackageContext.isEmpty()){
Toast.makeText(MainActivity.this, "input packageName", Toast.LENGTH_SHORT).show();
}else if(monkeyTimeContext.isEmpty()){
Toast.makeText(MainActivity.this, "input pauseTime", Toast.LENGTH_SHORT).show();
}else if(monkeyCountContext.isEmpty()){
Toast.makeText(MainActivity.this, "input Count", Toast.LENGTH_SHORT).show();
}else{
int T = Integer.parseInt(monkeyTimeContext) ;
int C = Integer.parseInt(monkeyCountContext);
String acctionText = "monkey -p "+monkeyPackageContext+" --throttle "+
T + " -s 1000 " + " -v -v -v " + C;// + ">/sdcard/aaaaaa_monkey.log"; Log.d("MonkeyTestActivity", "Toast");
Log.d("MonkeyTestActivity", acctionText);
Toast.makeText(MainActivity.this, acctionText, Toast.LENGTH_SHORT).show(); do_exec(acctionText);
Log.d("MonkeyTestActivity", "Toast2");
} }
}
);
} protected String do_exec(String cmd) {
String s = "\n";
try {
Process p = Runtime.getRuntime().exec(cmd);
BufferedReader in = new BufferedReader(
new InputStreamReader(p.getInputStream()));
String line = null;
while ((line = in.readLine()) != null) {
s += line + "\n";
}
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
LogOut.setText(s);
return cmd; } }

四.AndroidManifest.xml

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.example.runmonkeytest"
android:versionCode=""
android:versionName="1.0" > <uses-permission android:name="android.permission.ACCESS_SUPERUSER"/>
<uses-permission android:name="andorid.permission.WRITE_EXTERNAL_STORAGE"/> <application
android:allowBackup="true"
android:icon="@drawable/ic_launcher"
android:label="@string/app_name"
android:theme="@style/AppTheme" >
<activity
android:name="com.example.runmonkeytest.MainActivity"
android:label="@string/app_name" >
<intent-filter>
<action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
</application>
<uses-sdk
android:minSdkVersion=""
/> </manifest>

执行monkey APK 制作的更多相关文章

  1. 对当前目录下的所有APK包执行Monkey测试,并自动保存Crash日志

    适用平台:Android,代码几个月前写的,有问题请及时回复.本代码会依次安装当前目录下的APK安装包,之后执行Monkey测试,然后卸载掉换下一个,继续重复执行,如出现Cransh,会自动保存在当前 ...

  2. IOS操作系统上执行monkey测试

    IOS操作系统上执行monkey测试 IOS操作系统不像Android系统那么方便,各种限制也比较多,目前我的建议还是直接在模拟器上执行monkey测试.如果需要在真机上面执行,可以参考文档: htt ...

  3. dofile执行ANDROID APK里面的文件

    我使用dofile执行APK文件是不行的,比如 dofile("assets/res/flist")只能先拷贝到writablePath然后再dofile拿到数据后再清除这个临时文 ...

  4. Android 使用DexClassLoader要执行其他apk方法

    Android在apk文件dex文件是java编译出来.class次打包,当然在打包之前会利用自己的协议做一些数据处理,比如优化函数表和变量表.在java程序中是使用classloader来载入这些编 ...

  5. monkey测试跑多个apk|monkey命令

    1.如何跑多个apk的monkey? 黑名单:执行除了黑名单中以外的apk: 白名单:只执行在白名单中的apk. 黑名单的设置方法: a.创建一个名称为blacklist的txt文档,在文件中输入应用 ...

  6. 如何保存不连着电脑跑monkey?如何跑多个APK的monkey?

    哈喽,大家有没有遇到用真机跑monkey的时候,跑到一半结果小手一抖不小心把线碰掉了,结果报告就没获取到啦~ 今天就来解决这个问题 1.如何保存不连着电脑跑monkey? 1).输入命令进入shell ...

  7. Android插件化开发---执行未安装apk中的Service

    欢迎各位增加我的Android开发群[257053751​] 假设你还不知道什么叫插件化开发.那么你应该先读一读之前写的这篇博客:Android插件化开发,初入殿堂 上一篇博客主要从总体角度分析了一下 ...

  8. 老李推荐:第5章7节《MonkeyRunner源码剖析》Monkey原理分析-启动运行: 循环获取并执行事件 - runMonkeyCycles

    老李推荐:第5章7节<MonkeyRunner源码剖析>Monkey原理分析-启动运行: 循环获取并执行事件 - runMonkeyCycles   poptest是国内唯一一家培养测试开 ...

  9. Android APP压力测试(二)之Monkey信息自动收集脚本

      Android APP压力测试(二) 之Monkey信息自动收集脚本 前言: 上一篇Monkey介绍基本搬抄官方介绍,主要是为了自己查阅方便.本文重点介绍我在进行Monkey时如何自动收集相关信息 ...

随机推荐

  1. 利用IIS部署WEB网站以及解决CSS/JS不能显示问题

    利用IIS部署WEB网站以及解决CSS/JS不能显示问题 转载声明:http://blog.sina.com.cn/s/blog_a001e5980101b4kt.html vs中正常IIS发布网站后 ...

  2. 常用正则表达式 c#

    /// <summary> /// 是否手机号 /// </summary> /// <param name="str"></param& ...

  3. Road of computer tec 01

    回顾自己过去将近3年的学习经历 当初报考的时候,自己是真正喜欢这个专业的么? 当初报这个专业的时候,对计算机还没有什么很明显的概念,只知道这个专业以后是要每天面对电脑的,喜欢不喜欢谈不上吧,但是还蛮感 ...

  4. AJax提交表单数据到后台springmvc接收

    第一种方法直接用serialize()方法 function insert(){ $.ajax({ type:"POST", url:"${pageContext.req ...

  5. Exception、Thorow、Throws、TryCatch

    一.异常 概述: 异常指的是不正常,指的是程序中出现了某种问题 java中,所有问题都可以使用一个类来表示,这个类叫做Throwable Throwable: Throwawble是java中所有异常 ...

  6. P5016 龙虎斗 题解

    这题真是*到家了QAQ 我在考场上调了将近75min,总算过了大样例. 首先,我们可以简化这一题,这道题的本质就是让我们找出一个点p2,往那个点上面加上s2个单位的重量,使得以m为中的两边的权值和的差 ...

  7. 在win系统安装Git

    Git是优秀, 先进的代码版本控制管理工具, 是分布式, 比SVN进步. 比如我们可以从Github拉取代码, 或者上传到GIthub. 下面说下安装: 搜索引擎搜索Git, 找到官网, 找到安装文件 ...

  8. 关于Apache的配置方法和步骤

    一.下载.安装和卸载 网址:https://httpd.apache.org/docs/current/platform/windows.html#down 点击ApacheHaus,在里面下载任何版 ...

  9. Bom简单介绍

    1.什么是bom? 全称:浏览器对象模型(Browser Object Model) bom是js的一部分, 2.bom的对象,方法和方法 bom提供了主要的8大对象:Window,Screen,Lo ...

  10. IntelliJ IDEA及maven、git下载与配置

    maven下载地址:http://maven.apache.org/download.cgi,下载bin文件然后解压 maven环境变量配置: MAVEN_HOME:D:  \install\apac ...