[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:

[Selenium] Upload File on Remote Node Machines_第1张图片

 

 

 

你可能感兴趣的:([Selenium] Upload File on Remote Node Machines)