【问题标题】:Control windows or file explorer to upload files in protractor控制窗口或文件资源管理器在量角器中上传文件
【发布时间】:2020-02-12 21:32:08
【问题描述】:

我正在尝试在量角器 E2E 测试中上传文件。谷歌搜索了一下,我最终使用了robotJS。 不幸的是,robotJS 的安装失败了。 有没有其他方法可以让我的文件上传。

步骤:

  1. 点击上传按钮
  2. 文件浏览器打开。
  3. 输入路径
  4. 点击上传。

我尝试使用 FileDetector,下面是代码:

let fileToUpload = 'testfolder';
let absolutePath = path.resolve(__dirname, fileToUpload);
await browser.setFileDetector(new remote.FileDetector());
$('input[type="file"]').sendKeys(absolutePath);

这并没有真正传递或搜索绝对路径。 这里缺少什么?

【问题讨论】:

  • 您是否需要与文件资源管理器窗口进行交互,或者将其全部绕过对您有用?
  • 如果绕过作品我仍然可以上传文件,那么它很好。如果没有,应该处理文件浏览器窗口。
  • 如前所述,我想尝试robotJS,但不幸的是它似乎有一个错误。

标签: protractor


【解决方案1】:

如果您有包含 2 个文件夹的文件夹 e2e:包含您的测试的文件夹测试和包含 testFile 的文件夹图像,请尝试以下操作:

const filePath = '../images/testFile';
const absolutePath = require('path').resolve(__dirname, filePath);
$('input[type="file"]').sendKeys(absolutePath);

【讨论】:

  • 谢谢。但是testfolder只包含我要上传的文件
  • 我只提到了这个结构,以便您知道filePath应该代表什么...如果测试和文件在同一个文件夹中,您可以尝试const filePath = './testFile';我之前遇到过麻烦当我只写了一个文件名..
猜你喜欢
  • 1970-01-01
  • 2018-04-10
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2010-12-30
  • 1970-01-01
相关资源
最近更新 更多