Screenshots in ADO Execution

I am afraid it is risky to take full page screenshots on failure in Test Cases.

My rational:

(1) a full page screenshot of a web page tends to be far larger in byte size than the viewport screenshot. For example, I tried the following test case:

import com.kms.katalon.core.model.FailureHandling
import com.kms.katalon.core.webui.keyword.WebUiBuiltInKeywords as WebUI

WebUI.openBrowser("")
WebUI.navigateToUrl("https://forum.katalon.com/")
WebUI.takeScreenshot("viewport.png", FailureHandling.STOP_ON_FAILURE)
WebUI.takeFullPageScreenshot("fullpage.png");
WebUI.closeBrowser()

The viewport.png has 2400x1260 pixels, the fullpage.png has 2400x9998 pixels. The byte size of files are:

$ ls -la | grep .png
-rw-r--r--    1 kazuakiurayama  staff  1907100 11 12 09:04 fullpage.png
-rw-r--r--    1 kazuakiurayama  staff   270560 11 12 09:03 viewport.png

The fullpage.png is 7 times larger than the viewport.png. The proportion will depend on the design of each web pages; it might be 1.5:1, or 15:1.

(2) Users may create a Test Suite that contains tens or hundreds of Test Cases. Nobody can stop it.

(3) When a Test Suite contains many test cases that failed, the report becomes very large because the report contains the screenshot images taken on failure. It could easily exceeds 20 mega bytes in size.

(4) One of the recent topic TestOps report file size limit reported that Test Ops server seems to reject receiving a large report file uploaded from clients (Katalon Studio), possibly the limit is around 20mb.

(5) If Katalon Studio takes full page screenshots on failure, it is more likely that users encounter the problem of “Test Ops report file size limit”.

1 Like