我想在容器中存在的selenium网格网络上运行测试。为此,我需要将selenium集线器url传递给驱动程序。
问题是selenium集线器url总是不同的。过去,selenium网格在会话之间具有相同的url,例如"https://localhost:4444/wd/hub",但是现在url具有不断变化的ip地址部分:http://100.00.0.0:4444,其中100.00.0.0是变量部分。
如何使url在每个会话之间保持不变?或者如何将url输出到变价表中?这两种解决办法都能解决我的问题。
用于创建selenium网格的yml文件。
version: '3.7'
services:
e2e:
build:
dockerfile: Dockerfile
context: .
command: bash run_test_page.sh
depends_on:
- 'selenium-hub'
- 'selenium-1'
- 'selenium-2'
selenium-1:
image: selenium/node-chrome:latest
shm_size: '2gb'
depends_on:
- selenium-hub
environment:
- SE_EVENT_BUS_HOST=selenium-hub
- SE_EVENT_BUS_PUBLISH_PORT=4442
- SE_EVENT_BUS_SUBSCRIBE_PORT=4443
selenium-2:
image: selenium/node-chrome:latest
shm_size: '2gb'
depends_on:
- selenium-hub
environment:
- SE_EVENT_BUS_HOST=selenium-hub
- SE_EVENT_BUS_PUBLISH_PORT=4442
- SE_EVENT_BUS_SUBSCRIBE_PORT=4443
selenium-hub:
image: selenium/hub:latest
expose:
- 4444硒轮毂的输出
selenium-hub_1 | 2022-05-01 12:13:44,867 INFO Included extra file "/etc/supervisor/conf.d/selenium-grid-hub.conf" during parsing
selenium-hub_1 | 2022-05-01 12:13:44,871 INFO supervisord started with pid 7
selenium-hub_1 | 2022-05-01 12:13:45,874 INFO spawned: 'selenium-grid-hub' with pid 9
selenium-hub_1 | 12:13:46.589 INFO [LoggingOptions.configureLogEncoding] - Using the system default encoding
selenium-hub_1 | 2022-05-01 12:13:46,593 INFO success: selenium-grid-hub entered RUNNING state, process has stayed up for > than 0 seconds (startsecs)
selenium-hub_1 | 12:13:46.598 INFO [OpenTelemetryTracer.createTracer] - Using OpenTelemetry for tracing
selenium-hub_1 | 12:13:47.162 INFO [BoundZmqEventBus.<init>] - XPUB binding to [binding to tcp://*:4442, advertising as tcp://100.00.0.0:4442], XSUB binding to [binding to tcp://*:4443, advertising as tcp://100.00.0.0:4443]
selenium-hub_1 | 12:13:47.377 INFO [UnboundZmqEventBus.<init>] - Connecting to tcp://100.00.0.0:4442 and tcp://100.00.0.0:4443
selenium-hub_1 | 12:13:47.571 INFO [UnboundZmqEventBus.<init>] - Sockets created
selenium-hub_1 | 12:13:48.573 INFO [UnboundZmqEventBus.<init>] - Event bus ready
selenium-hub_1 | 12:13:52.113 INFO [Hub.execute] - Started Selenium Hub 4.1.4 (revision 535d840ee2): http://100.00.0.0:4444
selenium-hub_1 | 12:13:53.888 INFO [Node.<init>] - Binding additional locator mechanisms: id, relative, name
selenium-hub_1 | 12:13:55.296 INFO [GridModel.setAvailability] - Switching Node 79566d8f-468c-4a70-8af4-c969aa9bbd21 (uri: http://100.00.0.0:5555) from DOWN to UP
selenium-hub_1 | 12:13:55.299 INFO [LocalDistributor.add] - Added node 79566d8f-468c-4a70-8af4-c969aa9bbd21 at http://100.00.0.0:5555. Health check every 120s
selenium-hub_1 | 12:13:55.331 INFO [Node.<init>] - Binding additional locator mechanisms: id, relative, name
selenium-hub_1 | 12:13:55.430 INFO [LocalDistributor.newSession] - Session request received by the Distributor:
selenium-hub_1 | [Capabilities {browserName: chrome, goog:chromeOptions: {args: [--window-size=1920,1080, --headless], extensions: []}, pageLoadStrategy: normal}]
selenium-hub_1 | 12:13:55.742 INFO [GridModel.setAvailability] - Switching Node b43fc442-971c-4ef3-be4a-4c6a439ca386 (uri: http://100.00.0.0:5555) from DOWN to UP
selenium-hub_1 | 12:13:55.746 INFO [LocalDistributor.add] - Added node b43fc442-971c-4ef3-be4a-4c6a439ca386 at http://100.00.0.0:5555. Health check every 120s
selenium-hub_1 | 12:13:55.761 INFO [LocalDistributor.newSession] - Session request received by the Distributor:
selenium-hub_1 | [Capabilities {browserName: chrome, goog:chromeOptions: {args: [--window-size=1920,1080, --headless], extensions: []}, pageLoadStrategy: normal}]发布于 2022-06-06 14:43:23
我已经想明白了。寻址corect容器的正确方法是用名称来称呼它。
http://100.00.0.0:4444的要害应该是http://selenium-hub:4444
https://stackoverflow.com/questions/72076785
复制相似问题