Selenium Hub-创建可重复使用的配置文件

时间:2019-08-06 12:32:15

标签: docker selenium-webdriver selenium-docker

我需要使用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映像上创建“ 用户数据目录”配置文件?

Thx

更新

我运行“ chrome:\ version”,就可以识别配置文件 enter image description here

我可以在' 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 /”时,我看到了:

enter image description here

表明有问题: enter image description here

1 个答案:

答案 0 :(得分:1)

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

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

  2. Available policy list

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

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

enter image description here

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

enter image description here

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

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