首页 > 解决方案 > PHP、Docker、Selenium Grid:如何运行测试?

问题描述

有 Docker 容器:本地项目(php-framework)、Selenium Grid、Selenium Nodes(Chrome、Opera ...)。如何运行使用 Selenium IDE (Python) 生成的测试?

来自 docker-compose.yml 的设置如下:

  selenium-hub:
    image: selenium/hub:latest
    volumes:
      - ./project/tests/Selenium:/tests
    container_name: selenium-hub
    ports:
      - 4444:4444

  chrome:
    image: selenium/node-chrome:latest
    volumes:
      - /dev/shm:/dev/shm
    depends_on:
      - selenium-hub
    links:
      - selenium-hub
    environment:
      - HUB_HOST=selenium-hub
      - HUB_PORT=4444
    ports:
      - 5900

标签: phpdockerdocker-composeselenium-grid

解决方案


有几种方法可以运行您的测试。我最喜欢的 WebApplications 是使用 Selenium IDE 记录测试并将其导出为 .side 文件。

你可以在这里获得 Selenium IDEhttps ://www.selenium.dev/selenium-ide/

现在,请务必检查 selenium-side-runner 的语法安装说明https ://www.selenium.dev/selenium-ide/docs/en/introduction/command-line-runner

之后,您可以使用selenium-side-runner对您的集线器运行测试,例如:

selenium-side-runner --server http://127.0.0.1:4444/wd/hub --debug -c "browserName='chrome'" --output-directory ~/out ~/myrecordedtest.side

Side runner 可以在本地机器上启动,也可以在运行 docker 容器的主机上启动,也可以在容器内启动。

如果这可行,您可以开始编写一些测试,这是生成测试的另一种方式。

我真的很喜欢使用 Zalenium,它是 Zalando 开源的一个堆栈。也有一些很好的教程可以与普通硒集线器一起使用: https ://opensource.zalando.com/zalenium/


推荐阅读