2017-01-30 3 views
0

Selenium GridexcelCSVのレポートファイルをダウンロードしようとしていますが、ダウンロードしたファイルが希望の場所に見えません。excelまたはCSVレポートファイルを希望の場所のセレングリッドでダウンロードすることはできますか?

FirefoxProfile profile = new FirefoxProfile(); 
profile.setPreference("browser.download.folderList", 2); 
profile.setPreference("browser.download.manager.showWhenStarting",false); 
String path=System.getProperty("user.dir"); 
System.out.println(path); 
profile.setPreference("browser.download.dir",path); 
profile.setPreference("browser.helperApps.neverAsk.saveToDisk","application/msword,application/x-rar-compressed," + "application/octet-stream,application/csv,text/csv"); 
DesiredCapabilities cap = DesiredCapabilities.firefox(); 
cap.setCapability(FirefoxDriver.PROFILE, profile); 
cap.setBrowserName("firefox"); 
cap.setPlatform(Platform.WINDOWS); 
WebDriver driver = new RemoteWebDriver(new URL("GRID_URL"),cap); 
    //WebDriver driver= new FirefoxDriver(profile);       
driver.get("http://www.winzip.com/landing/open-rar-file.html"); 
driver.findElement(By.xpath("//*[@id='lan_img']")).click(); 
System.out.println("File downloaded at location::"+path); 

答えて

0

ファイルには、あなたのテストが別のマシンからトリガされると、ノードが実行されているとき、これが複雑になる[グリッドハブはとNOTローカルマシンにテストをルーティングされるノードマシンにダウンロードされています別のマシン]

理想的には、ファイルのダウンロードを伴うテストを自動化しないでください。 絶対に必要な場合は、WebセッションからCookieを抽出してから、httpクライアントを使用してプログラムでファイルをダウンロードすることをお勧めします(セレンは関係ありません)。

マークコリンズの詳細なブログ記事thisをご覧になることをお勧めします。彼はセレンとファイルのダウンロード、賛否両論、そしてどのような選択肢が使用できるかについて丁寧に語ります。

彼のブログで彼が語った援助者の中には、githubもあります。

関連する問題