gpt4 book ai didi

selenium - 创建包含用于 Selenium 的 Firefox 和 Chrome 驱动程序的 Dockerfile

转载 作者:行者123 更新时间:2023-12-02 18:15:23 24 4
gpt4 key购买 nike

我有以下将构建 Selenium 服务器的 Dockerfile

FROM selenium/standalone-firefox:3.4.0-chromium
FROM selenium/standalone-chrome

USER root
ENV NODE_ENV test

RUN mkdir -p /usr/local/cdt-tests/csv-data
COPY ./csv-data /usr/local/cdt-tests/csv-data
USER seluser

显然这两个 FROM 语句是不正确的 => 如何创建一个 Selenium 服务器容器,它同时具有用于 Selenium 的 Chrome 驱动程序和 Firefox 驱动程序。据我所知, selenium/standalone-firefox:3.4.0-chromium图片仅适用于 Firefox。

最佳答案

没有像您建议的那样为 Dockerfiles 设置继承类型。

要实现组合构建,您需要找到常见的 FROM standalone-firefox 的祖先和 standalone-chrome ,即 selenium/node-base并创建您自己的 Docker 文件以重新应用 selenium/standalone-chrome 的所有构建步骤适用。然后在 Selenium 更新其构建时保持同步。

Dockerfile 层次结构:

                selenium/node-base
/ \
selenium/node-chrome selenium/node-firefox
| |
selenium/standalone-chrome selenium/standalone-firefox

问题是这些构建被设计为独立的,因此图像使用的变量和设置存在显着重叠,您还需要在自定义构建中取消选择以同时控制和运行 chrome 和 firefox。您可能最终不得不从头开始做所有事情。

Selenium 网格

个人运行 Selenium grid节点位于 grid hub 后面是从单个端点进行多浏览器测试的标准方法。您可以运行 Firefox , ChromePhantom JS Docker 中的节点或连接 standard nodes从其他任何地方。

可怜的芒格

如果设置网格对于针对每个浏览器运行一些测试的简单情况需要大量工作,那么您始终可以在单独的端口上运行 Chrome 和 Firefox 的容器,并将相同的测试套件指向不同的端口。

关于selenium - 创建包含用于 Selenium 的 Firefox 和 Chrome 驱动程序的 Dockerfile,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47145325/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com