[Selenium] Upload File on Remote Node Machines
Problem:
In web UI automation testing, we always need to upload files, it will work well on local machines, but doesn't work on remote node machines when using Seleniuim Grid to run.
Solution:
No
|
Description
|
Recommendation Index
|
---|---|---|
1 |
1.Use PathUtils to get file's path under project 2.Convert input WebElement to RemoteWebElement 3.Call setFileDetector for the RemoteWebElement 4.Call sendKeys for input WebElement Note: for input element |
|
2 |
1.Copy upload file to a share folder 2.Call sendKeys with above file path in share folder |
Code:
Solution 1:
String filePath = pathUtils.getFilePathFromResources(fileName); public void uploadDocument(String filepath) { WebElement button = page.getUploadDocument(); ((RemoteWebElement) button ).setFileDetector(new LocalFileDetector()); button.sendKeys(filepath); }
Solution 2: