【问题标题】:Selenium Hub - create a reusable profileSelenium Hub - 创建可重用的配置文件
【发布时间】:2019-08-06 12:32:15
【问题描述】:

我需要使用 Python 代码和 Selenium HUB 驱动程序执行集成测试。 我打算使用远程驱动程序(我在 https://github.com/SeleniumHQ/docker-selenium 上使用 Selenium HUB docker 映像)。

我无法弄清楚如何在 Selenium HUB 映像中创建持久配置文件并从远程 webdriver 调用。 我想我需要先在 Selenium HUB 上创建配置文件,而不是在 python 代码中调用: chrome_options = webdriver.ChromeOptions()

chrome_options.add_argument('user-data-dir=##remotepath')

browser = webdriver.Remote(command_executor='http://127.0.0.1:4444/wd/hub',desired_capabilities = chrome_options.to_capabilities())

browser.get('http://www.google.it')
session_id = browser.session_id

如何在 docker selenium hub 映像上创建“用户数据目录”配置文件?

谢谢

更新

我运行“chrome:\version”并且能够识别配置文件

我能够在 'user-data-dir' 参数中指定它,但是在 docker 上提交后,当重新启动图像时,路径会发生变化。 有没有办法让它持久化?

更新 2

我创建了一个文件夹“/etc/opt/chrome/profile/maya”

我创建了一个 test_policy.json 文件:

{
  "UserDataDir": "/etc/opt/chrome/profile/maya"
}

放置在这个目录中:

/etc/opt/chrome/policies/managed

当我尝试执行“chrome://policy/”时,我看到了:

表示有问题:

【问题讨论】:

    标签: docker selenium-webdriver selenium-docker


    【解决方案1】:

    您可以使用 chrome://policy 将自定义路径添加到 chrome,然后将该策略文件添加到 docker 图像中。

    1. 手动尝试设置策略以判断此方法是否适合您。在尝试确保您创建了有效的策略文件时。详细步骤here

    2. Available policy list

    3. 在 docker 文件中添加步骤。

      3.1。按照步骤 1 中的说明创建文件夹

    3.2。复制在步骤 1 中测试的策略文件

    1. 构建 docker 镜像并使用它。

    PS:这种方法适用于我,因为我在 chrome 中进行了一些自定义。如果您需要更多信息,请告诉我。

    【讨论】:

    • 如果我想继续使用从 Docker hub 下载的 Selenium docker 映像,请确认我可以简单地 1-在 /etc/opt 上创建目录 - 2-在 / 下上传“policies.json” etc/opt/chrome/policies/managed/ 3-执行 docker 提交 - 你认为它会起作用吗?您是否有一个仅适用于 UserDataDir 的有效 policies.json 示例?
    • 因为您将构建自己的 Docker-selenium 映像。您必须将此自定义图像推送到 docker hub,然后您可以拉取并更改将在那里。不要期望此更改会出现在 docker hub 上的开源 docker+selenium 映像中
    • Docker 提交可以在您的情况下解决。我回答了 CI/CD 实践。保持 docker 文件的更改、构建、推送到 repo、拉取和使用它。对于 policy.json 文件。请参考第 1 步中的链接。它只是一个包含您想要的策略的 json 文件..
    • 看起来 chrome 76 的政策有一些变化。 chrome 76 的策略列表中缺少 UserDataDir。将对此进行检查
    猜你喜欢
    • 1970-01-01
    • 2020-08-03
    • 1970-01-01
    • 2013-10-16
    • 2014-04-07
    • 1970-01-01
    • 2021-10-21
    • 2015-06-24
    • 2012-09-27
    相关资源
    最近更新 更多