我有一个简单的脚本,试图将文件直接上传到我的应用程序。此测试在我的本地设置(win10 + chrome 73)上运行良好,但是在通过browserstack-local(据我所知设置了到本地计算机的安全连接)运行时,我收到以下错误。
Failed: invalid argument: File not found : C:\correctPath/correctFileName.zip
[Chrome #01] (Session info: chrome=73.0.3683.86)
[Chrome #01] (Driver info: chromedriver=73.0.3683.68 (47787ec04b6e38e22703e856e101e840b65afe72),platform=Windows NT 10.0.15063 x86_64) (WARNING: The server did not provide any stacktrace information)
我正在打印以下确认,所以我知道路径正确。
哪个生产
[Chrome #01] File Path: C:\correctPath/correctFileName.zip
[Chrome #01] File exists: true
这些是在发生故障之前打印的。
注意:我可以运行不需要上载文件的测试。
我是browserstack的新手,所以可能缺少一些简单的东西。任何帮助或建议将不胜感激。
科里(Corey)用他的回答向我指出了正确的方向。我需要在配置文件的onPrepare中添加以下两行,现在可以正常上传了。
const remote = require('selenium-webdriver/remote');
await browser.setFileDetector(new remote.FileDetector());
答案 0 :(得分:1)
请参阅https://seleniumhq.github.io/docs/remote.html
的“本地文件检测器”部分本地文件检测器
本地文件检测器允许从客户端传输文件 机器到远程服务器。例如,如果测试需要上传一个 文件到Web应用程序,远程WebDriver可以自动 将文件从本地计算机传输到远程Web服务器 在运行时。这允许从远程上传文件 机器运行测试。