【问题标题】:Mount a file from D: Windows OS for file uploading to Zalenium docker image从 D 挂载文件:Windows 操作系统用于将文件上传到 Zalenium docker 映像
【发布时间】:2020-02-11 05:08:28
【问题描述】:

我正在通过 Zalenium docker 映像运行我的 Selenium 测试。我有一个测试需要将 .pdf 文档上传到应用程序。 我将用来存储所有 .pdf 文件的目录是: D:\Automation\KITS Automation\exports-endtoend-tests\Defra.Exports.EndToEnd.Tests\bin\Debug\netcoreapp2.1 我已将此路径添加到我的 docker CMD 窗口,如下所示:

docker run --rm -ti --name zalenium -p 4444:4444 -v /var/run/docker.sock:/var/run/docker.sock -v /tmp/videos:/home/seluser/视频 -v /d:/automation/kits automation/exports-endtoend-tests/defra.exports.endtoend.tests/bin/debug/netcoreapp2.1 --privileged dosel/zalenium start

一旦添加了 docker 请求以通过确认弹出框共享此文件,但是当我运行测试时,我仍然看到下面的错误

OpenQA.Selenium.WebDriverException:无效参数:找不到文件:D:\Automation\KITS Automation\exports-endtoend-tests\Defra.Exports.EndToEnd.Tests\bin\Debug\netcoreapp2.1\test-ehc。 pdf

执行上传文件的c#代码:

        string folder = Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location);
        string filePath = Path.Combine(folder, "test-ehc.pdf");
        driver.FindElement(By.Id("file")).SendKeys(filePath)

【问题讨论】:

  • 如果您需要访问主机 Docker 套接字、特权容器和来自主机的任意内容,您可能会发现在 Docker 之外运行该进程更容易。
  • 谢谢大卫,你是对的,测试在 docker 之外本地运行完美,但自动化平台使用 docker 是业务需求。我相信这是可能的,我只是不在那里
  • 我还尝试通过 docker 应用程序中的设置共享完整的 D: 驱动器: Docker/Settings/Shared Drives 执行此操作后,我看到防火墙正在阻止 Windows 和容器之间的文件共享。有关更多信息,请参阅文档。我已经检查了我的防火墙 DockerSmbMount 在 Public 和 Private 上都启用了这里还有什么需要的吗?

标签: docker zalenium


【解决方案1】:

这根本与 Zalenium 无关。测试代码,这里似乎是C#,需要访问要上传的文件。通常这是通过

driver.setFileDetector(new LocalFileDetector());

如果您想在 Docker 容器中运行 C# 代码,请查看可用于此目的的 docker 映像。最后,要上传的文件不需要与 Zalenium 共享,需要与执行测试代码的容器共享。

【讨论】:

    【解决方案2】:

    这与 Zalenium 有关,在启动 Zalenium 时使用以下命令:

    docker run --rm -ti --name zalenium -p 4444:4444 -v 
    /var/run/docker.sock:/var/run/docker.sock -v /D/source/repos/Defra.Git/ehco-endtoend- 
    tests/src/main/resources/upload:/tmp/node/home/seluser/Downloads --privileged 
    dosel/zalenium start --desiredContainers 2
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-10-27
      • 1970-01-01
      • 2017-10-01
      • 1970-01-01
      • 2018-05-17
      • 1970-01-01
      • 2018-12-18
      • 1970-01-01
      相关资源
      最近更新 更多