2017-04-06 4 views
0

Ich habe Selenium Grid auf Remote-Maschine mit IP. Einer meiner Testfälle muss die Datei herunterladen, und in der Assertion möchte ich den Namen der heruntergeladenen Datei vergleichen, auch in einem anderen Testfall muss ich die Datei von Windows zur Anwendung importieren. Wie geht das in Java? Selen Grid ist auf Windows Server 2008.Selen Grid, wie man Datei von ihm mit Java bekommt?

Antwort

0

Soweit ich weiß, ist das mit Selen allein nicht möglich. Möglicherweise können Sie Browserprotokolle abrufen, aber ich aktiviere den Dateizugriff auf einen freigegebenen Server und überprüfe, ob die Datei dort heruntergeladen wird. Zuerst stelle ich Chrome Download-Verzeichnis:

DesiredCapabilities capabilities = DesiredCapabilities.chrome(); 
ChromeOptions options = new ChromeOptions(); 
Map<String, Object> prefs = new HashMap<String, Object>(); 
prefs.put("download.default_directory", "\\remote-ip\path\to\download\directory"); 
options.setExperimentalOption("prefs", prefs); 
capabilities.setCapability(ChromeOptions.CAPABILITY, options); 
WebDriver driver = new RemoteWebDriver(new URL("http://gridhubhost:4444/wd/hub"), capabilities); 

Dann, nachdem der Test macht der Browser die Datei herunterladen prüfe ich das Dateisystem auf dem Remote-Server:

File downloadedFile = new File("\\remote-ip\path\to\download\directory\file"); 
assertEquals(downloadedFile.getName(), "expected-name"); 
+0

vielen Dank, es funktioniert perfekt für mich, ich dachte, dass ich Putty und SSH-Verbindung zwischen den Maschinen konfigurieren muss. – robmax

0

Sie können prüfen, ob die heruntergeladene Datei in das existiert Pfad Mit java.io.File:

File f = new File(filePathString); 
if(f.exists() && !f.isDirectory()) { 
    Sustem.out.printLn("File is downloaded"); 
} 

auch, wenn Sie dann importieren wollen, müssen Sie prüfen, ob es für den Dateiimport ein editierbares Eingabefeld vorhanden ist, wenn ja th

driver.findElement(By.xpath("upload input path")).sendKeys("C:/Users/1.pdf"); 

sonst müssen Sie die Verwendung von AutoIt oder Robot-Klasse machen, wenn Upload-Link öffnet Fenster Dialoge: en Sie direkt Tastaturbefehle wie pro unten verwenden können.