我正在通过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自动化/exports-endtoend-tests/defra.exports.endtoend.tests/bin/debug/netcoreapp2.1-特权剂量/ zalenium开始
一旦添加了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)
答案 0 :(得分:0)
这与Zalenium完全无关。测试代码(这里是C#)需要访问要上传的文件。通常,这是通过
完成的driver.setFileDetector(new LocalFileDetector());
如果您想在Docker容器中运行C#代码,请查看可用于此的Docker映像。最后,不需要与Zalenium共享要上传的文件,而需要与将执行测试代码的容器共享。
答案 1 :(得分: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