私はスクリーンショットをキャプチャするために 'takescreenshot'再利用可能なメソッドを作成し、必要な場所で呼び出しています。Java-Selenium:TakesScreenshotのサイズの問題
しかし、私はここで一つの奇妙な問題に直面しています。この機能が呼び出されるたびに、キャプチャされた画像のサイズは増加し続けます。 252K - > 278K - > 310K - > 400K ...
これらは私がExtentReportで使用している画像です。セレンのセッションイメージとは別に、黒い背景イメージがどこから来ているのかわからないままキャプチャされているのがわかります。
メソッドのコードは以下の通りである:私はextentreportコードにいくつかの既存のイメージをハードコーディング場合
public static void takescreenshot(ExtentTest Test,String Status){
Date d=new Date();
String CurrentTimeStamp=d.toString().replace(":", "_").replace(" ", "_");
File scrFile =((TakesScreenshot)driver).getScreenshotAs(OutputType.FILE);
FileUtils.copyFile(scrFile, new File(CurrentTimeStamp+".png"));
if(Status.equals("pass")){
Test.log(LogStatus.PASS, "snapshot below:-"+CurrentTimeStamp+".png"));
}else if(Status.equals("fail")){
Test.log(LogStatus.FAIL, "snapshot below:-"+CurrentTimeStamp+".png"));
}
}
はその後、すべてが正常に動作します。
この問題を抱える人は誰もいません。
「既存のイメージをエクステントレポートのコードにハードコードしておけば、すべて正常に動作します。」 - あなたはほとんどそれを持っていると思います。おそらく、問題は画像の使用方法です。 'takescreenshot'メソッド自体には何の問題もありません。 –