在Testcafe中使用隐藏输入上传文件

时间:2019-05-17 01:11:15

标签: javascript file-upload e2e-testing testcafe multifile-uploader

我想使用testcafe测试上传文件夹/多个文件。它具有几个上传文件的步骤。

  • 步骤-1:点击文件浏览按钮以选择文件
  • 步骤-2:“本机确认”框,以确认上传
  • 第3步:点击“上传”按钮上传文件

在HTML代码中,输入[type = file]被隐藏。 HTML代码:

<div class="col-md-12">
    <input type="button" class="btn btn-primary btn-exec" value="Select Files" id="fileBrowseBtn">
    <input type="file" id="selectFiles" webkitdirectory="" style="display: none">
</div>

我尝试使用以下代码,但根本无法正常工作。

 await t
.click(Selector('#fileBrowseBtn'))
.setNativeDialogHandler(() => true)
.setFilesToUpload(Selector('input').withAttribute('type','file'), [
            './uploads/1.jpg',
            './uploads/2.jpg',
            './uploads/3.jpg'
        ])
.setNativeDialogHandler(() => true)
.click(Selector('#uploadWizard').find('button').withText('Upload'))

有人可以通过可行的例子帮助我吗?我尝试了很多,但可能是我错过了一些东西。预先感谢。

1 个答案:

答案 0 :(得分:1)

根据an example,您不应打开“选择文件”对话框。

尝试如下简化代码:

await t
.setFilesToUpload(Selector('input').withAttribute('type','file'), [
            './uploads/1.jpg',
            './uploads/2.jpg',
            './uploads/3.jpg'
        ])
.click(Selector('#uploadWizard').find('button').withText('Upload'))