0

我需要使用 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”并且能够识别配置文件 在此处输入图像描述

我能够在“用户数据目录”参数中指定它,但是在 docker 上提交后,当重新启动图像时,路径会改变。有没有办法让它持久化?

更新 2

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

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

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

放在这个目录下:

/etc/opt/chrome/policies/managed

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

在此处输入图像描述

表示有问题: 在此处输入图像描述

4

1 回答 1

1

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

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

  2. 可用的政策清单

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

    3.1。如步骤 1 所述创建文件夹

在此处输入图像描述

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

在此处输入图像描述

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

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

于 2019-08-06T15:24:50.370 回答