0

所以我安装了最新最好的 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: { } }
4

0 回答 0