node.js - 使用 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,但对我都没有用。
解决方案
由于该文件不在 BrowserStack 的机器上,您可能会遇到此错误。您需要使用 Selenium 提供的“ setFileDetector ”方法将本地文件上传到远程网格。可以在此处的文档中找到更多详细信息 - https://www.browserstack.com/automate/node#enhancements-uploads-downloads
推荐阅读
- python - 将 .pb 文件转换为 .tflite
- java - 创建使用 Launch4j 创建的 Jar 和 exe 后,Java printjob 不打印任何内容
- php - 结帐前重定向到登录(我的帐户)并在登录后返回到结帐 - Woocommerce
- firebase - Firebase 实时数据库和存储位置对这些服务的速度有多大影响?我可以更改位置吗?
- javascript - Firebase Firestore 数据不一致
- javascript - 如何将元素移动到新行?html/css
- python - pygame - 恒定帧速率
- python - 行为:错误:format=cucumber_json:PrettyCucumberJSONFormatter 未知
- github - 如何在 atom 上通过 REPL 运行 Julia
- javascript - 尝试在下一个 js 页面中循环数据时(使用 getStaticProps),为什么我会变得未定义?