selenium

Selenium Grid

March 1, 2025
selenium, 爬虫

[!note] 一个用于分布式测试的工具,它允许你在多个机器上并行运行测试。通过 Selenium Grid,你可以同时在多个浏览器和操作系统上执行测试,从而加快测试速度并提高测试覆盖率。 主要特点: # 并行执行:可以在多个节点上同时运行测试,显著减少测试时间。 跨浏览器测试:支持在不同的浏览器(如 Chrome、Firefox、Edge 等)上运行测试。 跨平台测试:支持在不同的操作系统(如 Windows、macOS、Linux 等)上运行测试。 集中管理:通过一个中心节点(Hub)来管理多个测试节点(Node),方便配置和监控。 基本架构: # Hub:中心节点,负责接收测试请求并将其分发到合适的节点。 Node:测试节点,负责执行实际的测试任务。每个节点可以配置不同的浏览器和操作系统。 示例: # 假设你有一个测试套件需要在 Chrome、Firefox 和 Edge 上运行,你可以配置一个 Selenium Grid,其中包含三个节点,每个节点分别运行不同的浏览器。然后,你可以通过 Hub 将测试分发到这些节点上并行执行。 podman-compose部署 # version: '3' services: selenium-hub: image: selenium/hub:latest ports: - "4442:4442" - "4443:4443" - "4444:4444" environment: - SE_EVENT_BUS_PUBLISH_PORT=4442 - SE_EVENT_BUS_SUBSCRIBE_PORT=4443 security_opt: - no-new-privileges:true selenium-node-chrome: image: selenium/node-chrome:latest shm_size: 1g dns: - 8.8.8.8 environment: - SE_EVENT_BUS_HOST=selenium-hub - SE_EVENT_BUS_PUBLISH_PORT=4442 - SE_EVENT_BUS_SUBSCRIBE_PORT=4443 depends_on: - selenium-hub security_opt: - no-new-privileges:true Python代码 # from selenium import webdriver from selenium. ...