我正在使用量角器测试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获取上述代码的任何帮助或建议将不胜感激。
答案 0 :(得分:2)
你有没有试过像:
browser.driver.setFileDetector(new browser.driver.remote.FileDetector);
根据the protractor issue,它或者它不起作用(Selenium JavaScript绑定或量角器中的错误,或版本不匹配)。
在同一个github问题中,如果主解决方案不起作用,还有a workaround(tldr:文件共享)。