【问题标题】:how to upload a file to selenium test running in docker如何将文件上传到在 docker 中运行的 selenium 测试
【发布时间】:2018-07-26 01:12:38
【问题描述】:
我正在 Windows 系统中安装的 Docker 的 chrome 容器中运行我的 selenium java 测试。
如果我在 windows - chrome 中运行测试,上传的测试将通过,但如果我在 docker 中运行相同的测试,则会失败并出现错误path is not absolute: D:\xyz.csv。
我正在 docker 的 chrome 节点上推送我的测试。
正常的硒测试在 docker 中工作,但上传不能。
请建议如何在容器内复制此文件以提供上传测试的路径..
谢谢
【问题讨论】:
标签:
selenium
docker
selenium-webdriver
selenium-chromedriver
【解决方案1】:
那是因为 Chrome 会在它所在的系统中查找该路径。但是容器是基于linux的系统,文件路径不是这样的。
所以你需要在启动 chrome 容器时共享音量
docker run -v localfolder:containerfolder
在您的测试中,您需要使用 contaienrfolder 路径而不是本地文件夹路径
【解决方案2】:
很久以前我就得到了这个问题的解决方案。
使用以下命令将文件从 windows/Linux 系统复制到运行在 docker 的 say 'tmp' 文件夹中的 Chrome 容器中,以后可以在 Docker 中运行的 selenium 测试中引用此路径。
"docker cp D:\file.csv docker_chrome_1:/tmp/"
一旦 Docker 的 Chrome 容器启动并在 Windows/Linux 机器上运行,就可以运行上述命令。