使用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'))
上面的代码对我来说工作得很好。