使用Nightwatch.js上传图像文件

Uploading an image file with Nightwatch.js

本文关键字:图像 文件 Nightwatch js 使用      更新时间:2023-09-26

我正在使用Chrome驱动程序使用nightwatch.js运行前端测试。我需要测试图像上传是否正常工作,大概是通过提供的文件输入,因为有回调运行在成功的帖子上。

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

如何使用javascript和nightwatch.js来完成这个?您可以访问Selenium web驱动程序或它的接口吗?

用于从本地桌面上传图像

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

正如上面有人提到的,您可以将绝对路径传递给您的输入[type="file"],就像您在字段中键入文本一样。

使用了nightwatch的setValue函数。您可以使用Node的__dirname全局变量检索当前目录路径。

例如

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

使用客户端。setValue函数设置图像的绝对路径。以下是我项目中的工作示例。

客户端。setValue('#editPictures . mode -body input[type="file"]', '/Users/testing/pictures/CAM00003.jpg');

在我的例子中,有一个div id="Upload Icon",它的输入类型="file"

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

这个解决方案对我很有效:

.setValue('#file-upload', require('path').resolve('C:/Users/Mihai/Desktop/test.png'))

这对我来说很有效。

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

其他人可能遇到的唯一一件事可能是不同版本的firefox在两年前无法为同事工作。