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),我们将立即处理。
《2023软件测试行业现状调查报告》独家发布~

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2024
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号