0

我正在通过 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/videos -v /d:/automation/kits 自动化/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)
4

2 回答 2

0

这与 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
于 2020-02-10T21:08:28.253 回答
0

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

driver.setFileDetector(new LocalFileDetector());

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

于 2019-11-22T13:21:40.660 回答