【问题标题】:Run monkey from java从java运行猴子
【发布时间】:2012-01-29 23:25:31
【问题描述】:

我在文件 script.txt 中有这个脚本

我是这样运行的

monkeyrunner /home/user/script.txt

这是我的脚本.txt

from com.android.monkeyrunner import MonkeyRunner, MonkeyDevice
import time

device = MonkeyRunner.waitForConnection("wait forever","emulator-5554")

package = 'com.pak.pak1'

activity = 'com.pak.pak1.MyActivity'

runComponent = package + '/' + activity

#     Runs the component
device.startActivity(component=runComponent)

time.sleep(1)

我想做的是从java运行脚本

此代码运行一个 shell 命令,例如 srart 脚本

 try {
        new Thread() {
            public void run() {
                Process p;
                try {
                    p = Runtime.getRuntime().exec("monkeyrunner /home/user/script.txt");

                    BufferedReader br = new BufferedReader(new InputStreamReader(p.getInputStream()));
                    String line;
                    while ((line = br.readLine()) != null) {

                        System.out.println(line);

                    }
                    br.close();

                    p.waitFor();
                } catch (Exception e) {
                    //e.printStackTrace();
                }
            }
        }.start();
    } catch (Exception ie) {

    }

最后一个问题是我如何直接从 java 运行猴子运行器命令,我不想拥有 script.txt 文件。这可能吗 ?我的目标是运行猴子跑步者,但我不想拥有 script.txt 文件

【问题讨论】:

    标签: java android bash shell


    【解决方案1】:

    这看起来非常复杂,但仍然...... monkeyrunner 可以交互运行,所以直接写入标准输入(从p.getOutputStream() 获取)所有你希望它运行的字符串。

    您可能需要在发出任何命令之前耗尽标准输出,但我认为不会这样。

    【讨论】:

      【解决方案2】:

      显然,如果您在类路径中包含 MonkeyRunner chimpchat.jar(以及它的 jar 依赖项),那么您可以直接在 Java 应用程序中调用 MonkeyRunner Java 类。查看构成示例的this classthis class

      Another thread关于这个主题

      【讨论】:

        猜你喜欢
        • 2020-08-09
        • 1970-01-01
        • 1970-01-01
        • 2010-09-29
        • 2010-09-27
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多