【问题标题】:AndroidViewClient/culebra restrict GUI execution to appAndroidViewClient/culebra 将 GUI 执行限制为应用程序
【发布时间】:2018-03-22 12:29:27
【问题描述】:

我在 AndroidViewClient 中使用 culebra 手风琴模式通过 app 运行自动 GUI 测试。但我看到的是这个工具有时会按下主页按钮,我的应用程序退出,因此不再测试我的应用程序。这个工具中是否有任何东西可以将 GUI 执行限制为仅当前显示的应用程序?

【问题讨论】:

    标签: android android-testing androidviewclient


    【解决方案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 文件引入 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 时,它什么也不运行,命令终止,什么也不做。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多