我们可以 运行 BotiumCLI-WebdriverIO 在 headful 模式和(或)Selenium Grid 中吗?如果是,我们如何修改 Botium.json 来实现这一点?

Can we run BotiumCLI-WebdriverIO in a headful mode and (or) Selenium Grid? If yes, can how can we modify the Botium.json to achieve this?

我正在使用 Botium-CLI 和 WebdriverIO 连接器。我找不到任何文档来解释如何 运行 驱动程序处于 headful 模式(默认情况下是无头模式)以及我们如何修改 botium.json 以触发 Selenium Grid 中的执行。我试过用这个,没用:

"WEBDRIVERIO_OPTIONS": {
        "capabilities": {
          "browserName": "chrome"
        }
        "protocol": "http",
        "host": "localhost",
        "port": "4444",
        "path": "/wd/hub"
      }

请注意,我正在寻找 Botium CLI 的解决方案,而不是 Botium Box。

使用 Botium Webdriver Connector,基本上有 4 种使用 Selenium 的方法。

  1. 如问题中所述,可以使用无头 Chrome,参见 Github docs

  2. Botium 可以利用 Selenium Standalone to launch a local Selenium service on test execution, see Github docs。安装特定于浏览器的网络驱动程序需要一些准备工作。

  3. Botium 可以连接到您本地的 Selenium 服务器。您可以在 Docker 的帮助下启动您自己的 - 在 Botium Box Wiki 中有适用于 Botium Box 的说明,但其中大部分也适用于 Botium CLI - 您必须在中配置 Selenium 端点botium.json:

    "WEBDRIVERIO_OPTIONS": {
        "capabilities": {
          "browserName": "chrome"
        }
        "protocol": "http",
        "host": "my-selenium-server",
        "port": "4444",
        "path": "/wd/hub"
    }
  1. 最后,您还可以连接到 Saucelabs 等云设备服务 - 每个具有 public Selenium 端点的提供商都应该可以工作。参数要在 botium.json:
  2. 中给出
      "WEBDRIVERIO_OPTIONS": {
        "capabilities": {
          "deviceName": "Samsung Galaxy S6 GoogleAPI Emulator",
          "platformName": "Android",
          "platformVersion": "7.0",
          "browserName": "Chrome",
          "__browserName": "chrome",
          "name": "Banking Chatbot Tests",
          "tags": "botium, chatbot",
          "username": "xxx",
          "accessKey": "xxxxx"
        },
        "protocol": "https",
        "hostname": "ondemand.saucelabs.com",
        "port": 443
      }