如何将文件上传到docker中运行的selenium测试

时间:2017-08-04 09:02:01

标签: selenium docker selenium-webdriver selenium-chromedriver

在我的Windows系统中安装的Docker< chrome容器中运行我的selenium java测试。 如果我在windows中运行测试,则上传的测试将通过 - chrome,但如果我在docker中运行相同的测试,则会失败并显示错误{{1}}。 我在docker中对chrome节点进行测试。

正常的硒测试在docker中起作用,但上传不会。

请建议如何在容器中复制此文件以提供上传测试的路径..

由于

2 个答案:

答案 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计算机上运行,​​即可运行以上命令。