【问题标题】:Uploading local files with browserstack using Protractor使用 Protractor 使用 browserstack 上传本地文件
【发布时间】:2019-05-01 22:24:15
【问题描述】:

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

【问题讨论】:

  • 请不要贴代码截图
  • @Corey 在我发布它们之后,我没有意识到它们呈现得如此之小。我已经用提取物代替了它们。我留下的中间代码 sn-p 仅供参考

标签: selenium protractor browserstack


【解决方案1】:

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

本地文件检测器

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

【讨论】:

    猜你喜欢
    • 2016-06-20
    • 2015-10-23
    • 1970-01-01
    • 2018-07-03
    • 1970-01-01
    • 1970-01-01
    • 2014-10-21
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多