Monkey+Uiautomator做稳定性压力测试

发表于:2018-2-09 13:09  作者:早起有虫吃   来源:51Testing软件测试网采编

字体: | 上一篇 | 下一篇 |我要投稿 | 推荐标签: 性能测试 软件测试技术 压力测试

  最近一直在寻求一种好的压力测试方案,由于monkey的可控性太差,经常会跑到某个界面无法跳出来,所以就果断的放弃了monkey。
  随后在testerhome 里面找到了appcrawler,用appcrawler试跑了几次后,发现跑了几分钟就结束了。猜测是跑应用的时候一直停留在某个界面,里面所有的按钮被点击完毕,但是没有跳到其他页面,导致appcrawler结束。
  然后我就尝试着在appcrawler的基础上,结合uiautomator脚本运行,由于appcrawler是基于appium,而appium的底层是uiautomator,一个设备只能运行一个uiautomator,该方案又以失败告终。
  后来又想到既然monkey可控性差,我们可以人为地增强可控性,思路如下:
  1.将wify按钮,飞行模式按钮在下拉菜单中隐藏掉,防止断网
  2.执行monkey 脚本示例:
  adb shell monkey -p com.tencent.mobileqq --throttle 500 100000
  3.运行uiautomator脚本,定时启动activity,防止monkey跑道某个死角出不来
  代码如下:
  package com.example.administrator.yallatool.UITest.PressureTest;
  import android.content.Context;
  import android.content.Intent;
  import android.support.test.InstrumentationRegistry;
  import android.support.test.uiautomator.UiAutomatorTestCase;
  import android.util.Log;
  import org.junit.Test;
  /**
   * Created by Administrator on 2017/11/17.
   */
  public class Test_WithMonkey extends UiAutomatorTestCase  {
      @Test
      public void test_1(){
         for(int i=0;i<100;i++){
              startactivity();
              Log.i("startActivity","==="+i);
              sleep(60000);
          }
      }
      public void startactivity(){
          Context context = InstrumentationRegistry.getInstrumentation().getContext();
          Intent intent = context.getPackageManager().getLaunchIntentForPackage("com.tencent.mobileqq");
          intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
          context.startActivity(intent);
      }
  }


上文内容不用于商业目的,如涉及知识产权问题,请权利人联系博为峰小编(021-64471599-8017),我们将立即处理。

评 论

论坛新帖

顶部 底部


建议使用IE 6.0以上浏览器,800×600以上分辨率,法律顾问:上海瀛东律师事务所 张楠律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2018, 沪ICP备05003035号
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪公网安备 31010102002173号

51Testing官方微信

51Testing官方微博

扫一扫 测试知识全知道