When a user launches a screenshot test either via our website or our API, each browser requested is inserted into a queue. As the system processes a request for a browser, here are the steps taken to achieve the results.
- The operating system is booted from a locked image.
- The ScreenshotDriver launches the requested browser.
- The page is loaded for the requested URL.
- If the page requires Basic (HTTP) Authentication, the credentials are supplied.
- If a Login Profile or Selenium Builder Script was requested, the authentication method or script is applied.
- Maintenance tasks are run such as ensuring the document is ready and the browser window is maximized.
- If the user requested a delay for additional page rendering, the system pauses.
- The windowed screenshot is created and delivered back to the results page.
- The browser and web page is analyzed in preparation for a fullpage screenshot.
- The web page is scrolled and a screen capture is saved for each viewport scrolled until the bottom of the page is reached.
- The fullpage screenshot is built from the screen captures so that final resulting image looks seamless.
- The chromeless screenshot is created by removing toolbars from the fullpage image.
- The page’s DOM is captured as JSON for screenshot comparison feature.
- The page’s HTML source is saved for reference.
- The screenshot test is marked complete and results are returned to the client.
- The operating system instance is cleaned up and torn down.
The windowed screenshot is delivered as soon as it is ready. If the ScreenshotDriver is unable to complete the fullpage screenshot process, the screenshot test is marked as failed and no time is deducted from your account for the test, even though the windowed screenshot is still available in the results.