「getScreenshotAs」はカレントウインドウ(ブラウザ)のスクリーンショットファイルを取得します。
引数にはスクリーンショット出力の種類を指定します。ファイルとして出力したいので「OutputType.FILE」と指定します。
スクリーンショットファイルは一時ファイルシステム直下に.png形式で作成されます。作成されたスクリーンショットファイルは、JVMの終了で削除されてしまうので、テスト終了前にコピーすること必要となってきます。
説明
◆メソッド ・File getScreenshotAs(OutputType<java.io.File> FILE) ◆使用形態 ・((TakesScreenshot)driver).getScreenshotAs(OutputType.FILE) ◆備考 ・スクリーンショットファイルはJVMの終了で削除されてしまう ◆関連項目 ・ウィンドウの位置を取得する ・URLを取得する
サンプル
import java.io.File;
import org.openqa.selenium.OutputType;
import org.openqa.selenium.TakesScreenshot;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.chrome.ChromeDriver;
public class WebTest{
public static void main(String[] args){
//Chrome制御のためChromeDriverのパスを指定
System.setProperty("webdriver.chrome.driver",
"D:\\AutoTest\\chromedriver.exe");
//Chromeを起動する
WebDriver driver = new ChromeDriver();
//指定したURLに遷移する
driver.get("https://www.google.co.jp");
//カレントページのスクリーンショットを取得
File sfile = ((TakesScreenshot)driver).getScreenshotAs(OutputType.FILE);
//スクリーンショットファイルの存在を確認するため少し待機する
try {
Thread.sleep(15000);
} catch (InterruptedException e) {
e.printStackTrace();
}
//取得したスクリーンショットファイルのパスを表示
System.out.println(sfile);
}
}※selenium version 4.1.4で動作確認をしています(ブラウザのUIや属性値などが変更された場合、実行結果が異なる可能性があります)
実行結果
D:\System\TEMP\screenshot5756780426123472125.png
動画デモ
※字幕をONにすると解説のテロップが表示されます※
