首页 > 解决方案 > docker 将 chromedriver 添加到路径并运行 dotnet 测试

问题描述

我们正在为 Windows 开发一个小型 docker 图像容器,以在 dotnet 核心项目中运行 specflow 测试。我们遇到的问题是我们无法让 chromedriver 工作以及运行 dotnet test 命令。

我们正在运行的 specflow 项目只包含一个 hello world 测试用例,我们可以在没有 chromedriver 的情况下运行它,但随后我们收到错误消息“OpenQA.Selenium.DriverServiceNotFoundException:当前目录或目录中不存在 chromedriver.exe 文件在 PATH 环境变量上。” 我们在项目中提供了一个 chromedriver 实例,因此我们不必下载它。

我们正在运行的 dockerfile:

FROM mcr.microsoft.com/dotnet/core/sdk:2.2 AS build
WORKDIR /src
COPY . .
ENV PATH="/src/chromedriver:$PATH"
RUN dotnet test

我们使用这个命令来运行它: docker build 。--build-arg HTTP_PROXY= http://PROXY:8080 --build-arg HTTPS_PROXY= http://PROXY:8080 --rm

我们希望 specflow 测试可以使用 chromedriver 运行。当我们运行 dockerfile 时,我们收到错误消息“'dotnet' 未被识别为内部或外部命令、可运行程序或批处理文件。” 似乎 chromedriver 未正确添加到 PATH 变量中。我们需要它来运行 specflow 测试。

有人知道如何配置 dockerfile 以与 chromedriver 一起正常工作吗?

谢谢你的时间。

标签: seleniumdockerselenium-chromedriver

解决方案


推荐阅读