【发布时间】:2018-03-22 12:29:27
【问题描述】:
我在 AndroidViewClient 中使用 culebra 手风琴模式通过 app 运行自动 GUI 测试。但我看到的是这个工具有时会按下主页按钮,我的应用程序退出,因此不再测试我的应用程序。这个工具中是否有任何东西可以将 GUI 执行限制为仅当前显示的应用程序?
【问题讨论】:
标签: android android-testing androidviewclient
我在 AndroidViewClient 中使用 culebra 手风琴模式通过 app 运行自动 GUI 测试。但我看到的是这个工具有时会按下主页按钮,我的应用程序退出,因此不再测试我的应用程序。这个工具中是否有任何东西可以将 GUI 执行限制为仅当前显示的应用程序?
【问题讨论】:
标签: android android-testing androidviewclient
如果您只想从随机按下的按钮中删除 HOME,您可以在 culebron.py 中更改此行(您必须使用源代码而不是包)
if rand > 0.85:
# Send key events
k = random.choice(['ENTER', 'BACK', 'HOME', 'MENU'])
并删除您不想要的键。
我会尝试找到一种更好的方法(也许提供事件和频率的配置文件),可以包含在culebra 命令行中。
最新的 AndroidViewClient/culebra 版本 14.0.0 通过 JSON 文件引入 concertina 配置,因此现在您可以定义事件及其概率。仍未涵盖所有事件和案例,但支持您提到的事件和案例。
升级到最新版本并创建这样的配置文件
{
"probabilities": {
"systemKeys": 0.5,
"other": 0.5
},
"systemKeys": {
"keys": [
"ENTER",
"BACK",
"HOME",
"MENU"
],
"probabilities": [
0.33,
0.33,
0,
0.34
]
}
}
这将完全阻止 HOME 键事件,并且还将使用一半 (0.5) 生成的事件作为系统键。
然后,使用此文件调用culebra
$ culebra --gui --concertina --concertina-config=/path/to/myconf.json --scale=0.2
【讨论】:
~/AndroidViewClient-13.6.3/src/com/dtmilano/android$ python culebron.py --gui --concertina --scale=0.2 时,它什么也不运行,命令终止,什么也不做。