【问题标题】:Karate + Selenoid: how to get VNC working?空手道 + Selenoid:如何让 VNC 工作?
【发布时间】:2020-12-09 20:19:46
【问题描述】:

当尝试在 Selenoid 容器中使用 Karate 运行测试时 - 它可以工作,但我无法通过 vnc 容器看到那里发生了什么。当我们在没有空手道的情况下使用 Selenoid 时,我们可以设置驱动程序功能“enableVNC”:“true”,并且一切正常。对于空手道,我怀疑,问题在于空手道将这些能力设置在错误的地方。但由于我无法直接访问驱动程序,因此无法按照我需要的方式进行设置。有什么想法吗?

是的,我知道空手道通过 vnc 提供了自己的浏览器图像,但如果我们有 Selenoid,那么使用它是一种不好的做法。

下面是驱动配置的样子:

    Examples:
  | config |
  | {type: 'chrome', addOptions: ['--incognito'], webDriverSession: { desiredCapabilities: { browserName: 'chrome', 'goog:chromeOptions': { credentials_enable_service: false, profile.password_manager_enabled: false }}}} |

不知道在这个 json 中的哪个位置放置 "enableVNC":"true"

【问题讨论】:

    标签: karate vnc selenoid


    【解决方案1】:

    作为空手道项目的一部分,我们无法跟踪所有不同的功能和 SaaS 提供商 - 所以您可能需要询问 Selenoid 的人有什么魔力。

    以下是 SauceLabs 等类似讨论的示例:

    https://stackoverflow.com/a/63270092/143475

    https://stackoverflow.com/a/60992292/143475

    【讨论】:

    • 在 Selenoid 的情况下,我可以将这些功能添加到 Java 代码中的驱动程序实例并让 VNC 工作。任何驱动程序实例,除了空手道的驱动程序。它不在 Selenoid 一侧。
    • @DmitryMinchuk 所以您需要做的就是找出作为 JSON 有效负载的一部分通过 HTTP 传递的内容,它会起作用。它可能不在 Selenoid 方面,但是当您说 driver instance 时,我猜您的意思是 Selenium 或一些类似的 webdriver“包装器”。在我看来,记录应该通过什么是 Selenoid 项目的责任,可以吗?空手道项目使事情变得简单,按照规范传递确切的 JSON(以及不幸的供应商特定扩展,这是你的问题),它会起作用。
    猜你喜欢
    • 1970-01-01
    • 2011-08-10
    • 1970-01-01
    • 2018-08-27
    • 2012-08-26
    • 1970-01-01
    • 2021-09-07
    • 2023-03-29
    • 1970-01-01
    相关资源
    最近更新 更多