使用Nightwatch.js上传图片文件

我使用Chrome驱动程序使用nightwatch.js来运行前端testing。 我需要testing图像上传工作是否正常,大概是通过提供的文件input,因为有成功的post上运行的callback。

我知道这可以使用Selenium Web Driver的sendKeys方法完成。

你怎么能使用javascript和nightwatch.js完成这个? 你可以访问Selenium的WebDriver或与它的接口?

使用这个从本地桌面上传图片

.setValue('input[type="file"]', require('path').resolve('/home/My-PC/Desktop/img.png')) 

正如上面提到的人,你可以传递绝对path到你的input[type =“file”],就好像你正在input文本到一个字段。

这使用夜间的setValue函数。 您可以使用节点的__dirname全局__dirname来检索当前目录path。

例如: .setValue('#upload-input', __dirname + '\\upload.jpg')

使用client.setValue函数设置图像的绝对path。 这是我的项目中的工作示例。

client.setValue('#editPictures .modal-body input [type =“file”]','/Users/testing/pictures/CAM00003.jpg');

在我的情况下,有一个ID =“上传图标”,其中inputtypes=“文件”

 .setValue('//div[@id="Upload Icon"]/input[@type="file"]', require('path').resolve(__dirname + '/categoryIcon.png')) 

上面的代码对我来说工作得很好。