2

私はいくつかのテストを書くためにJavaとセレンを使用しています。テストが実行されている間に私は自分のスクリーンレコードを持っていなければなりません。問題は、複数のテストを同時に実行する必要があることと、モニタが1つしかないため、同時にすべての画面レコードを記録できないため、テストを1つずつ実行する必要があることです。私はすべてのテストを実行して実際にブラウザのウィンドウを最小限に抑えることができますが、最小化された各クロムウィンドウで何が起こっているかを記録する方法があるかどうかは疑問でした。私の質問は少し奇妙に聞こえるかもしれませんが、それは私のテストを非常に速くします。最小化されたブラウザウィンドウのスクリーンショットを記録する方法はありますか?

答えて

1

はい、間違いなく複数のスクリーンショットを撮ることができます。ブラウザが最小化または最大化状態にあるかどうかに影響はありません。ちょうどあなたは新しいウィンドウを開きます&は、スクリーンショットを取らなければならない各メソッドの後に "スクリーンショットを取る"メソッドを追加する必要があります。

Take screenshotメソッドは、ブラウザが最小化または最大化のいずれかの状態にある間、両方のモードで動作します。

public void getscreenshot() throws Exception 
    { 
      File scrFile = ((TakesScreenshot)driver).getScreenshotAs(OutputType.FILE); 
     //The below method will save the screen shot in d drive with name "screenshot.png" 
      FileUtils.copyFile(scrFile, new File("D:\\screenshot.png")); 
    } 

か、マルチ画面キャプチャを選ぶことができますし、そのためのコードは以下の通りです:

public void GoogleAbout() throws Exception { 
driver.get(baseUrl); // Enter the URL as per your choice 
driver.findElement(By.linkText(Prop.getProperty("AboutLinkText"))).click(); //find the web element 
MultiScreenShot multiScreens = new MultiScreenShot("C:\\New\\","GoogleAbout"); // Here we need to create the object which will take two arguement one is the path to save the file and second one is class name 
multiScreens.multiScreenShot(driver); 
driver.findElement(By.linkText("More about our philosophy")).click(); 
multiScreens.multiScreenShot(driver); 

}

有効にするには、以下のコードを使用することができるスクリーンショットのために 複数のスクリーンショットをJARファイルをダウンロードしてプロジェクトに添付し、次にそれをプロジェクトに添付してから:

import multiScreenShot.MultiScreenShot; 
+0

ウィンドウが最小化されると、スクリーンショットはウィンドウ内で何が起こっているのかをキャプチャしますか? –

+0

MultiScreenShot ** jarファイルはどこからダウンロードできますか? –

+0

ああ、ところで、私はスクリーン・レコード(ビデオ)を実際にスクリーンショット(picturs)以外のものを探しています –

関連する問題