我在Windows系统中安装的Docker的chrome容器中运行我的Selenium java测试。 如果我在 Windows - chrome 中运行测试,要上传的测试将通过,但如果我在 docker 中运行相同的测试,则失败并出现错误path is not absolute: D:xyz.csv
。 我在 docker 中的 chrome 节点上推送我的测试。
正常的硒测试在 docker 中有效,但上传不起作用。
请建议如何将此文件复制到容器内,以便为上传测试提供该路径。
谢谢
这是因为Chrome会在它的系统中查找该路径。但是容器是基于 Linux 的系统,文件路径不是这样的。
所以你需要在启动chrome容器时共享音量
docker run -v localfolder:containerfolder
在测试中,您需要使用 contaienrfolder 路径而不是本地文件夹路径
我很久以前就得到了这个问题的解决方案。 使用以下命令将文件从 windows/Linux 系统复制到在 docker 的 'tmp' 文件夹中运行的 Chrome 容器,稍后可以在 Docker 中运行的硒测试中引用此路径。
"docker cp D:\file.csv docker_chrome_1:/tmp/">
一旦 Docker 的 Chrome 容器在 Windows/Linux 机器中启动并运行,就可以运行上述命令。