Python + 硒网格

Python + Selenium Grid

我设法在自己的电脑上设置了一个 Node + Hub。

我有一个名为 run_parallel_test.py 的文件,它只是创建一个进程来执行基于 sys args 的测试脚本,这些只是具有功能的浏览器配置。

命令如下:

python run_parallel_tests.py testrunner.py browsers.json

testrunner.py 基本上是 Python 执行测试套件的单元测试框架。

我之前遇到的问题是,我迷上了浏览器堆栈而不是 selenium 网格,我能够传递这样的浏览器功能:

    [
  {
    "browser": "Chrome",
    "browser_version": "71.0 beta",
    "os": "Windows",
    "os_version": "10",
    "resolution": "1920x1080"
  },
  {
    "browser": "Firefox",
    "browser_version": "blah blah",
    "os": "Windows",
    "os_version": "10",
    "resolution": "1920x1080"
  }
]

现在有了网格,这些功能就不再起作用了,我已经创建了准系统功能来简化 运行 我的测试,例如:

    [
  {
    "browserName": "chrome",
    "browser_version": "71.0 beta",
    "platform": "WINDOWS"
  },
  {
    "browserName": "firefox",
    "browser_version": "64.0 beta",
    "platform": "WINDOWS"
  },
  {
    "browserName": "chrome",
    "platform": "WINDOWS"
  },
  {
    "browserName": "internet explorer",
    "platform": "WINDOWS"
  }
]

问题是,我无法再像以前使用浏览器堆栈时那样通过 JSON 文件配置来设置分辨率等。有没有办法设置分辨率?

我检查过:https://github.com/SeleniumHQ/selenium/wiki/DesiredCapabilities 我找不到它的文档。可能我看错地方了

您不能通过 server/grid 进行设置,因为它们不会为您的浏览器设置一个容器,以便 运行 在类似浏览器堆栈中。您需要通过 the set_window_size command

在 python 代码中设置浏览器大小