Android adb命令暴力测试你的Activity

使用adb命令反复打开/退出你的activity,同时使用Profiler查看app各个情况。

前提条件:

1.你的电脑配置好adb环境变量。
2.新建Test.java。
我的电脑环境不允许我直接在android studio或终端编译java文件,所以我选择把Java类放进Intelij中

命令格式:

public class Test {
    public static void main(String[] args) {
        try {
            // 传参,如果是序列化对象需要用Gson转成基础类型
            String extr = "{\"beginTime\":...}";
            // 参数两边双引号加上转义字符
            String command1 = "adb shell am start -n com.xxx.包名/com.xxx.acitivty  -e param \""+extr +"\"";
            // 返回事件
            String command2 = "adb shell input keyevent 4";
            Runtime runtime = Runtime.getRuntime();
            for (int i = 0; i < 100000; i++) {
                System.out.println(""+i);
                runtime.exec(command1);
                Thread.sleep(2000);
                runtime.exec(command2);
                Thread.sleep(2000);
            }
        }catch (Exception e){
        }
    }
}

项目代码参数接收的地方也要做改动:

// 传入的地方 
public static void startActivity(Context context, xxx config) {
        Intent intent = new Intent(context, xxxActivity.class);
        intent.putExtra(KEY_PARAM, config);
        String s = GsonUtil.GsonString(config);
        s = s.replaceAll("\"","");
        intent.putExtra(KEY_PARAM, s);
        context.startActivity(intent);
    }

// 取出解析的地方

String stringExtra = getIntent().getStringExtra(KEY_PARAM);
            config = GsonUtil.GsonToBean(stringExtra, xxx.class);

// 测试页面返回方法保持不动

@Override
    public void onBackPressed() {
      super.onBackPressed();
    }

最后:可以先把命令行1、2单个粘出来放命令行试一遍,运行没有问题再运行上面的Java文件。

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

友情链接更多精彩内容