gpt4 book ai didi

android - 仅在子 Activity 中使用 Monkey(android 调试)

转载 作者:塔克拉玛干 更新时间:2023-11-02 22:49:52 26 4
gpt4 key购买 nike

我正在尝试使用 Monkey debuggin 工具(来自 adb)对我的应用程序的部分 进行压力测试。由于 Monkey 以完全随机的方式运行,我希望它专注于可能包含我正在寻找的错误的代码部分(非常罕见的错误,我不知道如何复制它)。

因此,在我的主要 Activity 中,我有 6 个按钮,每个按钮都会启动一个新 Activity 。我想将猴子设置为仅查看其中一项 Activity ,以及可从中访问的每项 Activity 。我找不到合理的方法。

我试过了
adb shell monkey -p my.package.name -c android.intent.category.MONKEY 1000
在我的 list 文件中,我加入了一些我感兴趣的 Activity :

        <intent-filter>
<category android:name="android.intent.category.MONKEY"/>
</intent-filter>

但是没有用。 Monkey 仍然会启动未按此标签分类的 Activity 。对于 Monkey 在选定的子 Activity 中工作至关重要,因为它浪费了大约 95% 的时间在我的应用程序中漫游,而不是我真正想要测试的子 Activity 。

我还尝试了一些简单的脚本来启动所需的子 Activity ,但没有成功。

寻求任何帮助,
干杯,
卡吉曼

最佳答案

我在用类别限制猴子时也遇到了一些问题。我认为它并不像您假设的那样工作。那它是如何工作的呢?我没有明确的想法,只是尝试一下。文档很差。

对于您的问题,您可以考虑以下方法

  1. 将您的子 Activity 放在一个子包下,并使用 -p 选项只允许访问该子包
  2. 在您的代码中添加一些约束,以防止在应用内导航。例如,当满足某些特定条件时,将 onClickListeners 设置为不执行任何操作或禁用被测 Activity 的后退按钮。

附言您可以使用 adb shell am start为了启动所需的子 Activity 。同样糟糕的文档,没有示例,但操作是您在 intent-filter 中为 AndroidManifest 中的 Activity 定义的操作的名称。 name为Activity名称,例如

adb shell am start -a my.package.app.ACTION1 -n my.package.app/.sub.MyActivity

关于android - 仅在子 Activity 中使用 Monkey(android 调试),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4659036/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com