通过Android应用程序运行UiAutomator测试

时间:2013-11-18 16:58:35

标签: android jar uiautomator

我有一些测试,我的测试部门无法弄清楚如何使用终端。 Uiautomator测试是.jar文件,因此必须通过终端运行。所以为了方便起见,我想为他们制作一个应用程序,使用列表中的测试来选择执行。这可能吗?我的研究让我相信这些设备需要扎根。如果是这种情况,我将无法做到。那么有一个解决方法吗?这就是我的尝试:

  Runtime rt = Runtime.getRuntime();
            try {
                Process process = rt.exec("su");
                DataOutputStream os = new DataOutputStream(process.getOutputStream());

                os.writeBytes("uiautomator runtest test.jar -c ui.test.getData\n");
                os.flush();

                os.writeBytes("exit\n");
                os.flush();
                process.waitFor();

            } catch (IOException e) {
                e.printStackTrace();
            } catch (InterruptedException e) {
                e.printStackTrace();
            }  

此代码将产生:

  java.io.IOException: Error running exec(). Command: [su] Working Directory: null Environment: null

请帮助我解决这个问题。谢谢!

1 个答案:

答案 0 :(得分:1)

  

您是否有建议让我的测试团队能够轻松地对我的测试进行测试?

创建一个运行测试的桌面应用。

或者,只需在它前面添加一个不错的批处理文件/ shell脚本。也许是一个启动测试并在测试人员的Web浏览器中显示可爱小猫的照片。

(测试者可爱的小猫)

或者,设置一个持续集成服务器,因此测试人员根本不会手动运行测试 - 测试会自动运行,测试人员只是检查结果。我认为有人有Hudson / Jenkins的配方/任何可以运行 uiautomator 测试的人。并且可能有一个单独的方法可以将可爱小猫的照片整合到测试结果报告中,尽管你可能会因此而无法自己编写。