Monkey+Uiautomator做稳定性压力测试

作者: 早起有虫吃 | 来源:发表于2017-11-17 13:45 被阅读422次

    最近一直在寻求一种好的压力测试方案,由于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);
        }
    }
    

    相关文章

      网友评论

      • 854825b03835:.运行uiautomator脚本,定时启动activity,防止monkey跑道某个死角出不来;这个实现的,有意思

      本文标题:Monkey+Uiautomator做稳定性压力测试

      本文链接:https://www.haomeiwen.com/subject/wnadvxtx.html