问题标签 [android-monkey]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
android - 如何使用monkeyrunner和Android ViewClient点击包含指定文本的视图?
我正在尝试使用 Monkey Runner 和 Android ViewClient 模拟对 Android 平板电脑的点击。我想单击具有特定文本的区域/视图。这是我正在尝试做的一个例子:
我有一个脚本,我在其中导入 MonkeyRunner、MonkeyDevice、ViewClient
from com.dtmilano.android.viewclient import ViewClient
from com.android.monkeyrunner import MonkeyRunner, MonkeyDevice
连接平板电脑并创建 MonkeyDevice 对象
device = MonkeyDevice.waitForConnection()
然后使用设备创建一个 Android ViewClient 对象
vc = ViewClient(device)
我在平板电脑上打开“设置”应用
device.startActivity('com.android.settings/.Settings')
然后我使用以下方法找到所需的视图:
displayView = findViewWithAttribute('text:mText', 'Display')
然后我尝试单击该视图(通过模拟触摸事件):
displayView.touch()
问题是这个脚本触及了屏幕的另一部分,即设置应用程序中 WiFi 行左侧的某处。
我查看了 ViewClient 的源代码,发现 touch() 方法返回视图的 (x,y) 坐标,然后使用 MonkeyDevice.touch() 方法。但是返回的 (x,y) 坐标是相对于视图的父级的。
有人知道如何获得视图对象的正确 (x,y) 坐标吗?
或者至少是一种获得视图父母的方法。
android - Android 猴子在 Spinner 内触发 NullPointerException
我试图在我的代码中找到一些难以重现的问题。我使用了猴子工具。但在这里,问题似乎出在 Android 微调器内部。这是 API/框架问题吗?我再次尝试了相同的结果。
android - Android猴子导致本机库中的应用程序无响应
我在跑步时得到这个monkey -v -p package.name --throttle 1 --pct-syskeys 0 100000
。
我想这不是我自己的代码?它似乎是Android的绘图代码。果冻豆 4.1.1。
android - Android 猴子在 android.widget.HeaderViewListAdapter 中导致适配器通知异常
我有一个常见的问题:
但是适配器不是我的代码,而是在android.widget.HeaderViewListAdapter
This is using Jellybean。
我通读了 和 的HeaderViewListAdapter
源ListAdapter
代码ListView
。当项目计数不等于 提供的计数IllegalStateException
时抛出。在这种情况下,是。s 计数是客户端代码传递的原始计数,加上页眉和页脚的大小。ListView
ListAdapter
ListAdapter
HeaderViewListAdapter
HeaderViewListAdapter
ListAdapter
我跟踪了我的代码。所有对 的访问ListView
都在 UI 线程上,并且始终紧随其后的notifyDataSetChanged()
是适配器。我正在使用一个页脚。
这在正常使用中不会发生。是猴子的原因吗?但是 Monkey 怎么能从其他线程修改我的变量呢?
- 更多猴子测试后更新
我通过删除对addFooterView()
. Monkey 不再触发异常。我应该addFooterView()
在某个时候删除对的调用吗?
android - 自动屏幕方向随时间间隔而变化
我想每 500 毫秒旋转一次屏幕方向,即从横向 -> 爱国者,反之亦然(这是在真实设备上(不在模拟器上))。是否有任何可以旋转当前屏幕方向的 shell 命令?这不对应于任何应用程序。我只想在所有可用方向上旋转屏幕,而与当前活动无关
我已经检查了 adb shell 以将屏幕更改为横向:
服务呼叫窗口 18 i32 1
将屏幕更改为纵向:
服务呼叫窗口 18 i32 0
但这些不适用于真实设备。任何人都可以提供更好的解决方案来做到这一点,这对我真的很有帮助。
至少分享/指向我任何可用的脚本/apk 将执行此自动定位。
提前致谢
android - 在猴子运行期间更改屏幕方向
我正在使用猴子命令对我的应用程序进行一些压力测试。但我想在屏幕方向方面对其进行更多测试,以在更改方向时检测和捕获一些堆更新。我在 android 官方网站上搜索了有关在任何应用程序/活动上运行时将执行屏幕方向的猴子命令/参数。但是没有运气,也没有想过问像你这样的专业人士。
如果对此有想法,请告诉我。
android - 通过android猴子工具跳过时间更改的任何方式
我正在使用猴子工具对应用程序以及其他一些应用程序执行 UI 压力测试。但是猴子正在改变时间,这会影响日志时间戳。这在调试问题(系统/事件日志)时会引起烦人。 .
有没有办法在猴子锻炼应用程序时硬编码时间或不触摸时间..
-谢谢。
android - Android Monkey 未写入 scriptlog.txt(权限被拒绝)
刚开始尝试使用 android monkey 工具,它工作正常,除了在运行期间它会打印数千行以下内容:
为什么它无法写入 /mnt/sdcard?是否可以选择写入主机上的不同目录,或完全禁用日志?
如果重要的话,我的设备没有植根。
我还尝试在 Windows 管理员 shell 中运行该命令,但没有帮助。
android - 猴子没有给出输出:没有找到运行的活动,猴子中止
我是猴子测试工具的新手,它说运行以下命令
adb shell monkey -p "包名" -v 3
我不清楚是从项目目录内部还是从我的项目所在的工作区传递此命令。
每次我运行我都会收到以下错误
:Monkey: seed=0 count=3
:AllowPackage: com.and
:IncludeCategory: android.intent.category.LAUNCHER
:IncludeCategory: android.intent.category.MONKEY
** 没有找到要运行的活动,monkey 中止了。
提前致谢
android - 运行猴子时getDrawingCache返回null
我有以下代码来获取屏幕截图
代码onOptionsItemSelected
在 UI 线程中。
当我手动测试它时它运行良好。但是,当我用猴子运行应用程序时,bitmap
我null
不确定它在猴子模式下是否总是为空,或者只是偶尔因为猴子的随机性。
有什么想法可以解释为什么猴子的行为会有所不同?我不想在以后的代码中盲目地添加一个空指针检查器。
谢谢