【问题标题】:Protractor File Upload with Saucelabs使用 Saucelabs 上传量角器文件
【发布时间】:2015-07-26 09:42:08
【问题描述】:

我正在使用量角器测试一个 AngularJS 项目。我有一个图像文件上传测试,它在我的本地 mac 机器上正常工作并通过。但是,当我通过 saucelabs 运行相同的测试时,测试失败。

Saucelabs 在查找文件时遇到问题,只是打开了一个对话框,但找不到该文件。该文件在我的测试解决方案中,而不是在 saucelabs 中。我在网上四处寻找答案,但我还没有看到解决这个特定问题的明确答案。下面是我用来针对应用程序上传图像文件的代码示例。

var path = require('path');

it('should upload a file', function() {
  var fileToUpload = '../some/path/foo.txt',
  absolutePath = path.resolve(__dirname, fileToUpload);

  $('input[type="file"]').sendKeys(absolutePath);    
  $('#uploadButton').click();
});

任何有关如何通过 Saucelabs 使上述代码工作的帮助或建议将不胜感激。

【问题讨论】:

    标签: angularjs file-upload protractor saucelabs


    【解决方案1】:

    您是否尝试过类似的方法:

    browser.driver.setFileDetector(new browser.driver.remote.FileDetector); 
    

    根据the protractor issue 的说法,要么就是这样,要么它不起作用(Selenium JavaScript 绑定或量角器中的错误,或版本不匹配)。

    如果主要解决方案不起作用(tldr:文件共享),则在同一个 github 问题中还有 a workaround

    【讨论】:

    • FileDetector 会将本地文件路径转换为 ​​SeleniumServer 上的临时路径并执行上传。这是正确的做法。
    猜你喜欢
    • 2015-08-27
    • 2021-10-11
    • 1970-01-01
    • 1970-01-01
    • 2016-09-24
    • 2017-05-07
    • 1970-01-01
    • 1970-01-01
    • 2016-07-28
    相关资源
    最近更新 更多