所以我安装了最新最好的 selenium 4.1。
我已经 docker compose,它与单线程方式的测试一起工作得很好。一个测试完成,另一个进行下一步。
我想通过使用不同的 chrome 节点来并行它。(使用 pytest-xdist 的简单 pytest 多线程会削减它.. 因为存在冲突)
假设我有 100 个测试,它们是完全独立的。假设我想创建几个 chrome 节点-> 创建一个测试池,然后在节点之间拆分它们。或者基本上,并行运行它们。
有教程之类的吗?我在网络上的任何地方都没有找到它,所以如果有人可以分享它怎么做。
每当我想用来测试
version: '3.9'
services:
ui-tests:
image: "XXX"
depends_on:
- hubService
- chromeService
environment:
- HUB_HOST
- DRIVER_FROM_GRID
- BROWSER_NAME
- BID_ENV_SUFFIX
- BID_ENV_HOST
- PYTEST_PARAMS
- LOG_LEVEL
- FREE_TEXT
- CATEGORY
- AUTOMATION_BUILD
networks: [ 'selenium-grid-ui-tests' ]
command: bash -c "chmod u+x ./ci/start-ui-tests.sh ; ./ci/start-ui-tests.sh"
chromeService:
image: selenium/node-chrome:96.0-chromedriver-96.0-grid-4.1.1-20211217
shm_size: 2gb
volumes:
- /dev/shm:/dev/shm
- ../downloads:/home/seluser/Downloads/
environment:
- SE_EVENT_BUS_HOST=hubService
- SE_EVENT_BUS_PUBLISH_PORT=4442
- SE_EVENT_BUS_SUBSCRIBE_PORT=4443
- SE_NODE_MAX_INSTANCES=5
- SE_NODE_MAX_SESSIONS=5
depends_on:
- hubService
env_file: ./.env
ports:
- "9001:5900"
- "9002:7900"
networks: [ 'selenium-grid-ui-tests' ]
hubService:
image: selenium/hub:4.1.1-20211217
container_name: seleniumHub
ports:
- "4445:4444"
- "4442:4442"
- "4443:4443"
- "4444:4444"
networks: [ 'selenium-grid-ui-tests' ]
networks: { selenium-grid-ui-tests: { } }