android 自动化测试之uiautomator 三步曲

本文深入探讨了Android自动化测试中的uiautomator工具,通过三步曲揭示其核心使用方法。从基础操作到高级技巧,帮助开发者提升测试效率,确保应用稳定运行。
摘要由CSDN通过智能技术生成
前提:需要root权限的手机才能实现apk打包后自动化测试第三方,如果不需要打包运行的话则不需要root权限,可直接通过android studio 运行ExampleInstrumentedTest类直接在手机上跑,
第一步:

public class MainActivity extends Activity {
    private static final String TAG = "MainActivity";

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        TextView runBtn = (TextView) findViewById(R.id.runBtn);
        runBtn.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                try {
                    new Openweixin().start();
                } catch (Exception e) {
                    e.printStackTrace();
                }
            }
        });
    }

    class Openweixinextends Thread{
        @Override
        public void run() {
            //class后的参数是包名+类名
            ShellUtils.execCommand("adb shell am instrument -w -r   -e debug false -e class 'com.juchiwang.app.xx.ExampleInstrumentedTest' com.juchiwang.app.xx.test/androidx.test.runner.AndroidJUnitRunner",true);
        }
    }
    /**
     * 运行uiautomator是个费时的操作,不应该放在主线程,因此另起一个线程运行
     */
    class UiautomatorThread extends Thread {
        @Override
        public void run() {
            super.run();
            String command=generateCommand("com.juchiwang.app.xx", "ExampleInstrumentedTest", "useAppContext");
            CMDUtils.CMD_Result rs= CMDUtils.runCMD(command,true,true);
            Log.e(TAG, "run: " + rs.error + "-------" + rs.success);
        }

        /**
         * 生成命令
         * @param pkgName 包名
         * @param clsName 类名
         * @param mtdName 方法名
         * @return
         */
        public  String generateCommand(String pkgName, String clsName, String mtdName) {
            String command =
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值