在我的Windows系统中安装的Docker< chrome容器中运行我的selenium java测试。 如果我在windows中运行测试,则上传的测试将通过 - chrome,但如果我在docker中运行相同的测试,则会失败并显示错误{{1}}。 我在docker中对chrome节点进行测试。
正常的硒测试在docker中起作用,但上传不会。
请建议如何在容器中复制此文件以提供上传测试的路径..
由于
答案 0 :(得分:2)
这是因为Chrome会在系统中查找该路径。但容器是基于linux的系统,文件路径不是这样的。
因此,您需要在启动Chrome容器时共享音量
CriteriaBuilder builder = session.getCriteriaBuilder();
CriteriaQuery<Login> criteria = builder.createQuery(Login.class);
Root<Login> employeeRoot=criteria.from(Login.class);
criteria.select(employeeRoot);
criteria.where(builder.equal(employeeRoot.get(login.getUsername()), "username"));
在测试中,您需要使用contaienrfolder路径而不是本地文件夹路径
答案 1 :(得分:-1)
我很早就得到了这个问题的解决方案。 使用以下命令将文件从Windows / Linux系统复制到运行在docker's say'tmp'文件夹中的Chrome容器中,此路径可稍后在Docker中运行的硒测试中引用。
“ docker cp D:\ file.csv docker_chrome_1:/ tmp /”
一旦Docker的Chrome容器启动并在Windows / Linux计算机上运行,即可运行以上命令。