Android Test Monkey - 设置详细程度?

时间:2011-01-25 21:18:57

标签: android unit-testing testing monkey android-monkey

如何从命令行运行Test Monkey时更改详细级别?

这两个命令有效:

adb shell monkey -p com.my.package 5000
adb shell monkey -p com.my.package -v 5000

开发人员文档说,“命令行上的每个-v都会增加详细级别。级别0(默认值)提供的信息几乎不包括启动通知,测试完成和最终结果。级别1提供有关测试的更多详细信息在运行时,例如发送到您的活动的个别事件。第2级提供更详细的设置信息,例如选择或未选择用于测试的活动。“

然而,当我尝试adb shell monkey -p com.my.package -v -v 5000时,我得到segmentation fault monkey -p com.my...

我尝试了adb shell monkey -p com.my.package -v 2 5000,但是猴子会将2作为计数,而不是-v的值。

帮助? :)

3 个答案:

答案 0 :(得分:6)

它应该是: adb shell monkey -p com.my.package -vvv 5000

答案 1 :(得分:0)

这是猴子测试的正确命令:

adb.exe shell monkey -p packagename -v 500   ***or***
adb.exe shell monkey -p packagename -v 500 >> log.txt

的log.txt - >将在tools文件夹中创建,所有测试结果将存储在该txt文件中。

示例:

C:\android-sdk-windows-1.6_r1\android-sdk-windows-1.6_r1\tools>adb.exe shell monkey -p fr.bouyguestelecom.sync -v 500 >> LOG.TXT

fr.bouyguestelecom.sync =是包名。

答案 2 :(得分:0)

我不认为分段错误是由语法引起的。

adb shell monkey -p com.my.package -v -v 5000

也许您提供了太多事件(5000),但这是另一个讨论。

增加猴子的冗长性的正确方法是重复-v

// not verbose
adb shell monkey -p com.my.package 100

// verbose 1
adb shell monkey -p com.my.package -v 100

// verbose 2
adb shell monkey -p com.my.package -v -v 100

// verbose 3
adb shell monkey -p com.my.package -v -v -v 100

您可以在platform_development/cmds/monkey包下自行检查AOSP源代码。

Monkey.java

while ((opt = nextOption()) != null) {
    if (opt.equals("-s")) {
        mSeed = nextOptionLong("Seed");
    } else if (opt.equals("-v")) {
        mVerbose += 1;

MonkeySourceRandom.java

if (ret && mVerbose >= 2) {
    mPermissionUtil.dump();
}

// if verbose, show factors
if (mVerbose > 0) {
    Logger.out.println("// Event percentages:");
    for (int i = 0; i < FACTORZ_COUNT; ++i) {
        Logger.out.println("//   " + i + ": " + mFactors[i] + "%");
    }
}