我使用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