我使用Chrome驱动程序使用nightwatch.js来运行前端测试。我需要测试该图像上传工作是否正常,大概是通过提供的文件输入,因为有成功的帖子上运行的回调。使用Nightwatch.js上传图片文件
我知道这可以使用Selenium Web Driver的sendKeys方法完成。
如何使用javascript和nightwatch.js完成此操作? 你可以访问Selenium webdriver或者它的一个接口吗?
我使用Chrome驱动程序使用nightwatch.js来运行前端测试。我需要测试该图像上传工作是否正常,大概是通过提供的文件输入,因为有成功的帖子上运行的回调。使用Nightwatch.js上传图片文件
我知道这可以使用Selenium Web Driver的sendKeys方法完成。
如何使用javascript和nightwatch.js完成此操作? 你可以访问Selenium webdriver或者它的一个接口吗?
使用此从本地桌面
.setValue('input[type="file"]', require('path').resolve('/home/My-PC/Desktop/img.png'))
使用client.setValue函数来设置图像的绝对路径。这是我的项目中的工作示例。 ('#editPictures .modal-body input [type =“file”]','/Users/testing/pictures/CAM00003.jpg');
正如上面的人所提到的,您可以将绝对路径传递给您的输入[type =“file”],就像您在文本字段中输入文本一样。
这使用夜间的setValue
功能。您可以使用节点的__dirname
全局变量检索当前目录路径。
例如: .setValue('#upload-input', __dirname + '\\upload.jpg')
上传图片在我的情况下,有一个id =“上传图标”一个div它具有输入类型=“文件“
.setValue('//div[@id="Upload Icon"]/input[@type="file"]', require('path').resolve(__dirname + '/categoryIcon.png'))
上面的代码适合我。
我很想看看如何选择一个文件,我不认为这样的事情是可能的。 – dandavis