我正在使用Chrome驱动程序使用nightwatch.js运行前端测试。我需要测试图像上传是否正常工作,大概是通过提供的文件输入,因为有成功发布的回调。
我知道这可以使用Selenium Web Driver的sendKeys方法完成。
如何使用javascript和nightwatch.js完成此操作? 你可以访问Selenium webdriver或它的界面吗?
答案 0 :(得分:7)
使用此功能从本地桌面上传图片
.setValue('input[type="file"]', require('path').resolve('/home/My-PC/Desktop/img.png'))
答案 1 :(得分:2)
正如上面提到的那样,您可以将绝对路径传递给您的输入[type =" file"],就像您在字段中键入文本一样。
这使用了夜视仪的setValue
功能。您可以使用节点__dirname
全局变量
例如:
.setValue('#upload-input', __dirname + '\\upload.jpg')
答案 2 :(得分:1)
使用client.setValue函数设置图像的绝对路径。这是我项目中的工作示例。
client.setValue(' #editPictures .modal-body input [type =" file"]',' /Users/testing/pictures/CAM00003.jpg 39);
答案 3 :(得分:1)
在我的情况下,有一个id为id ="上传图标"输入类型="文件"
.setValue('//div[@id="Upload Icon"]/input[@type="file"]', require('path').resolve(__dirname + '/categoryIcon.png'))
上面的代码对我来说很好。
答案 4 :(得分:0)
此解决方案对我有用:
.setValue('#file-upload', require('path').resolve('C:/Users/Mihai/Desktop/test.png'))
答案 5 :(得分:0)
这对我有用。
.setValue('input[type="file"]', require('path').resolve('/home/My-PC/Desktop/img.png'))
可能只有其他人遇到了,可能是不同版本的Firefox在2年后对同事无效。