使用Protractor使用browserstack上传本地文件

问题描述 投票:0回答:1

我有一个简单的脚本,它试图将文件直接上传到我的应用程序。此测试在我的本地设置(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)

我打印出以下确认信息,因此我知道路径是正确的。

Code

哪个产生

[Chrome #01] File Path: C:\correctPath/correctFileName.zip
[Chrome #01] File exists: true

这些是在故障发生之前打印的。

注意:我可以运行不需要上传文件的测试。

我是browserstack的新手,所以可能会有一些我想念的简单。任何帮助或建议都会被贬低。


回答:

科里用他的答案向我指出了正确的方向。我需要在配置文件中将以下两行添加到我的onPrepare中,现在我可以正常上传。

const remote = require('selenium-webdriver/remote');
await browser.setFileDetector(new remote.FileDetector());
selenium protractor browserstack
1个回答
1
投票

请参阅“本地文件检测器”部分:https://seleniumhq.github.io/docs/remote.html

本地文件检测器

本地文件检测器允许将文件从客户端计算机传输到远程服务器。例如,如果测试需要将文件上载到Web应用程序,则远程WebDriver可以在运行时自动将文件从本地计算机传输到远程Web服务器。这允许从运行测试的远程计算机上载文件。

© www.soinside.com 2019 - 2024. All rights reserved.