[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

(Red Star)(Red Star)(Red Star)(Red Star)(Red Star)
2

1.Copy upload file to a share folder

2.Call sendKeys with above file path in share folder

(Red Star)(Red Star)(Red Star)

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:

 

 

 

Guess you like

Origin www.cnblogs.com/MasterMonkInTemple/p/12144522.html