Javascript 使用Nightwatch.js上载图像文件
我正在使用Chrome驱动程序使用nightwatch.js运行前端测试。我需要测试图像上传是否正常工作,可能是通过提供的文件输入,因为在成功的帖子上会运行回调 我知道这可以使用SeleniumWeb驱动程序的sendKeys方法来完成 如何使用javascript和nightwatch.js实现这一点?Javascript 使用Nightwatch.js上载图像文件,javascript,node.js,selenium,file-upload,nightwatch.js,Javascript,Node.js,Selenium,File Upload,Nightwatch.js,我正在使用Chrome驱动程序使用nightwatch.js运行前端测试。我需要测试图像上传是否正常工作,可能是通过提供的文件输入,因为在成功的帖子上会运行回调 我知道这可以使用SeleniumWeb驱动程序的sendKeys方法来完成 如何使用javascript和nightwatch.js实现这一点? 您可以访问Selenium webdriver或其接口吗?使用client.setValue函数设置图像的绝对路径。下面是我的项目中的工作示例 client.setValue(“#editPi
您可以访问Selenium webdriver或其接口吗?使用client.setValue函数设置图像的绝对路径。下面是我的项目中的工作示例
client.setValue(“#editPictures.modal body input[type=“file”]”,“/Users/testing/pictures/CAM00003.jpg”) 如上所述,您可以将绝对路径传递给输入[type=“file”],就像您在字段中键入文本一样 这使用了夜表的
setValue
功能。您可以使用节点的\uu dirname
全局变量检索当前目录路径
例如:
.setValue(“#上载输入”,“_udirname+”\\upload.jpg”)
用于从本地桌面上载图像
.setValue('input[type="file"]', require('path').resolve('/home/My-PC/Desktop/img.png'))
在我的例子中,有一个id=“Upload Icon”的div,它的输入为type=“file”
上述代码对我来说很好。此解决方案对我来说很有效:
.setValue('#file-upload', require('path').resolve('C:/Users/Mihai/Desktop/test.png'))
这对我有用
.setValue('input[type=“file”]”,require('path')。解析('/home/My-PC/Desktop/img.png'))
其他人可能遇到的唯一问题是,firefox的不同版本在两年前对一个同事来说不起作用 我很想知道如何选择一个文件,我认为这样的事情是不可能的。你能详细说明一下为什么在
\uu dirname
之后加上双反斜杠吗?Cheers@grayedfox:反斜杠是特殊字符前面的转义字符。在本例中,您将反斜杠(我们要使用的特殊字符)转义为反斜杠(表示以下字符的转义字符应按字面解释)。在这样设置文件输入值后,是否只有我需要.pause()?欢迎使用StackVoerflow。请使用降价设置答案的格式:
.setValue('#file-upload', require('path').resolve('C:/Users/Mihai/Desktop/test.png'))