首页 > 解决方案 > 使用 Nightwatch 和浏览器堆栈/Selenium Grid 上传文件

问题描述

我正在尝试在 IE11 的 Browserstack 上运行的守夜测试中上传文件。这是我所拥有的:

browser.execute(function (data) {
  const el = document.querySelector('input#fileUpload');
  el.style.display = "block";
  el.removeAttribute('multiple');
}, []);

browser.setValue('input#fileUpload', require('path').resolve(__dirname + '/upload-files/test-doc.pdf'))

该错误是文件未找到问题,在本地 Chrome 上运行时可以正常工作。环顾四周,似乎我需要先将文件上传到 BS,我找到了这个gist和这个PR,但对我都没有用。

标签: node.jsbrowserstacknightwatch

解决方案


由于该文件不在 BrowserStack 的机器上,您可能会遇到此错误。您需要使用 Selenium 提供的“ setFileDetector ”方法将本地文件上传到远程网格。可以在此处的文档中找到更多详细信息 - https://www.browserstack.com/automate/node#enhancements-uploads-downloads


推荐阅读