Android的猴子测试选择一个特定的活动(Android monkey test choose a

2019-08-31 06:58发布

我使用的是Android的猴子试验来测试我的Android应用程序,它是适合我的应用程序,非常酷。 但我想,以测试在特定应用程序的活动,我怎么能做到这一点?

今天我测试的所有应用程序使用:

$ adb shell monkey -p my.package -c android.intent.category.HOME -c android.intent.category.DEFAULT -v 500 -s "a random number"

Answer 1:

随着Android的猴子测试我无法测试特定活动,但与Android的猴子亚军 ,我可以做的Python脚本模拟试验的猴子,所以我做了一个python脚本打开我的活动和init猴子测试:)

#! /usr/bin/env monkeyrunner

from com.android.monkeyrunner import MonkeyRunner, MonkeyDevice
from random import randint

print "get device"
device = MonkeyRunner.waitForConnection()
package = 'my.packaget'
activity = 'my.package.activity'
runComponent = package + '/' + activity
device.startActivity(component=runComponent)

#use commands like device.touch and device.drag to simulate a navigation and open my activity

#with your activity opened start your monkey test
print "start monkey test"
for i in range(1, 1000):
    #here i go emulate only simple touchs, but i can emulate swiper keyevents and more... :D
    device.touch(randint(0, 1000), randint(0, 800), 'DOWN_AND_UP')

print "end monkey test"

保存teste.py和运行

$ monkeyrunner teste.py


Answer 2:

这为我工作。 添加category清单中:

<activity android:name="MonkeyActivity">
    <intent-filter>
        <action android:name="android.intent.action.MAIN" />
        <category android:name="android.intent.category.MONKEY" />
    </intent-filter>
</activity>

MonkeyActivity将用于测试和从外壳进行初始化设置:

adb shell monkey -p my.package -c android.intent.category.MONKEY -v 500


Answer 3:

从文档:

-c如果指定这样的一个或多个类别,Monkey将只允许系统访问列出与指定类别的一个活动。 如果不指定任何类别,Monkey将选择与该类别Intent.CATEGORY_LAUNCHER或Intent.CATEGORY_MONKEY上市活动。 要指定多个类别,需要使用多个-c选项 - 每个类别一个-c选项。

所以你删除您命令的默认和启动程序类别,猴子一个添加到您要在清单测试和现在的命令是简单的活动:

$ adb shell monkey -p my.package -c -v 500 -s "a random number"


Answer 4:

对我来说只是工作有:

-c android.intent.category.LAUNCHER

根据我的表现标准类别条目:

<activity
                android:name="pl.com.infinitysoftware.carassistant.app.CarAssistantMainActivity"
                android:label="@string/app_name"
                android:launchMode="singleTask"
                android:configChanges="orientation|screenSize">
                <intent-filter>
                    <action android:name="android.intent.action.MAIN" />
                    <category android:name="android.intent.category.LAUNCHER" />
                </intent-filter>
</activity>


文章来源: Android monkey test choose a specific activity