AndroidViewClient / culebra将GUI执行限制为app

时间:2018-03-20 21:58:32

标签: android android-testing androidviewclient

我在AndroidViewClient中使用culebra六角琴模式,用app运行自动GUI测试。但我所看到的是这个工具有时按下主页按钮,我的应用程序退出,因此不再测试我的应用程序。此工具中是否有任何内容仅限制GUI执行到当前显示的应用程序?

1 个答案:

答案 0 :(得分:1)

如果您只想从随机按下的按钮中删除HOME,您可以在culebron.py

中更改此行(您必须使用源代码而不是包)
        if rand > 0.85:
            # Send key events
            k = random.choice(['ENTER', 'BACK', 'HOME', 'MENU'])

并删除您不想要的密钥。

我将尝试找到可以包含在culebra命令行中的更好的方法(可能提供事件和频率的配置文件)。

修改

最新 AndroidViewClient / culebra版本14.0.0 通过JSON文件引入六角琴配置,现在您可以定义事件及其概率。仍未涵盖所有事件和案例,但您提到的那个事件和案例都受到支持。

升级到最新版本并创建像这样的配置文件

{
  "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