2017-01-11 4 views
0

JavaとSeleniumを使ってテストを行っています。私のテストでは、ファイルをダウンロードした後、クロムブラウザページの下部に表示されるダウンロードバーの下にあるボタンをクリックする必要があります。私は多くを検索しますが、唯一の解決策はhereでした。私はスクロールしていないので、私の場合はそうではありません。ダウンロードバーを閉じる

私も使用します。

action.sendKeys(Keys.CONTROL+ "j").build().perform(); 
action.keyUp(Keys.CONTROL).build().perform(); 
Thread.sleep(500);   
ArrayList<String> tabs2 = new ArrayList<String> (driverChrome.getWindowHandles()); 
driverChrome.switchTo().window(tabs2.get(1)); 
Thread.sleep(500); 
driverChrome.close(); 
driverChrome.switchTo().window(tabs2.get(0)); 
Thread.sleep(500); 

が、それはダウンロードページを開きません。

とにかくダウンロードバーを閉じることができますか?

答えて

0

この方法も私にとってはうまくいきませんでしたが、回避策を開発しました。新しいウィンドウでダウンロードテストを行い、ダウンロードウィンドウを閉じると、元のウィンドウにはダウンロードバーがありません。新しいウィンドウでなければなりません。新しいタブを作成すると、それを転送して、JavaScriptを使用します。新しいウィンドウに切り替え、ダウンロードテストを実行して、完了したら元のウィンドウに切り替えます。

string javascript = $"$(window.open('', '_blank', 'location=yes'))"; 

((IJavaScriptExecutor)Driver).ExecuteScript(javascript); //create new window 

Driver.SwitchTo().Window(Driver.WindowHandles.Last())); //switch to new window 

//do download test here 

Driver.Close(); //close created window 

Driver.SwitchTo().Window(Driver.WindowHandles.First()); //back to original window with no download bar