ScreenshotNeo

BlogEngineering

Selenium News and Updates: A Smattering of Selenium 66

A look back at Adam Goucher’s October 19, 2011 Selenium roundup: its links on waits, visual checks, integration testing, and more.

By the ScreenshotNeo team4 October 20266 min read

Direct answer: “A Smattering of Selenium #66” is a historical Selenium community link roundup by Adam Goucher, published October 19, 2011. It is not a current Selenium release announcement or a single tutorial. Its links touch on visual comparisons, waits, Cucumber, Python WebDriver, integration testing, Ruby concurrency, and other software topics. Read the archived post.

What issue 66 is

The number 66 identifies the post’s place in the “Smattering of Selenium” series; it is not a statistic. The official archive lists it among the 2011 installments. The page retains the original post and notes a later directory rename dated August 7, 2021. Selenium’s archived issue · Smattering tag archive.

Goucher’s post is a curated set of links with brief commentary. The third-party items were published in the 2011 context. The roundup does not establish that those resources remain available, maintained, compatible with current browsers, or suitable for a present-day project. Treat the links as historical leads and verify current APIs and support before using an example.

Topics in the roundup

Topic What the post points to How to read it today
Visual and image checks Image or bitmap comparisons and Adaptive Images. Historical discussion of visual checking, not a current visual-testing recipe.
Browser interactions Handling JavaScript confirmation dialogs from Selenium in Cucumber. Check current Selenium and Cucumber documentation before adapting syntax.
Waiting for conditions Replacing Selenium’s older waitForCondition pattern with WebDriverWait. The enduring theme is waiting for a condition instead of relying on timing guesses; use your binding’s current wait API.
Python WebDriver Splinter as a wrapper around Python WebDriver bindings. Check maintenance, supported browsers, and compatibility before choosing a wrapper.
Integration testing RSpec, Capybara, and Selenium, including advice to test through an application interface. Keep tests focused on observable behavior when the purpose is to protect user-visible contracts.
Other links Mockist test-driven development, a commit visualization, Google Webmaster material, Ruby concurrency and the GIL, and a rebuttal in a Facebook, Watir, and testing discussion. These are the subjects linked by the issue; the roundup does not independently validate their claims.

The visual-check distinction, in context

Goucher’s editorial framing distinguishes interaction, structure, and content checks from judging whether a page looks as a human intended. He suggests Selenium for the former kinds of checks and human judgment for subjective visual intent, ending with: “Robots where robots should be used. Humans where humans should be used.” This is his dated editorial point, not a current Selenium specification or a claim that automated visual regression is impossible.

For a modern test strategy, make the check match the question. Assert text, accessible roles, navigation, and state when verifying behavior. Compare rendered images when checking for unintended visual changes, with explicit handling for browser, viewport, fonts, animation, and rendering differences. A screenshot can show what rendered, but a person may still need to decide whether a design communicates the intended result.

Integration tests and the black-box idea

The roundup quotes advice from a linked integration-testing article: “Integration tests can be brittle if they know too much about how those components work.” The excerpt recommends knowing as little as possible about under-the-hood implementation and observing and interacting with the interface. The roundup does not identify the quoted sentence’s author separately, so attribute it to the linked article as quoted in Goucher’s post.

Applied carefully, this means testing a public contract—such as submitting a form and observing confirmation—rather than coupling the test to private method calls or internal component layout. Black-box testing does not mean avoiding all lower-level tests: unit and component tests can cover internal logic at the layer where they belong. The practical aim is to keep end-to-end checks resilient to harmless refactors while still protecting important user journeys.

How to use this historical roundup

  1. Start with the date. Read the post as a snapshot from October 2011, not a current change log.
  2. Use it to find themes. The link labels help locate old discussions of waits, browser dialogs, image comparison, and integration testing.
  3. Follow the original source. The roundup summarizes or links to third-party material; it is not a substitute for those sources.
  4. Verify before applying. Check current official documentation, API names, browser support, project maintenance, and compatibility in your own stack.
  5. Separate historical advice from current guidance. The visual-check and black-box observations are useful context, but they should not be mistaken for contemporary product specifications or measured findings.

What the issue does not establish

  • It does not announce a Selenium release or document current Selenium behavior.
  • It does not report a named statistical study or quantitative finding.
  • It does not provide a benchmark comparing automation tools.
  • It does not verify the present status of every linked page or project.
  • It does not recommend a physical product; the content is about software, code, and web resources.

In particular, do not read “#66” as a measured result. It is the series number.

Or skip the browser setup

If the goal is to capture a rendered page while documenting visual behavior, ScreenshotNeo is a website screenshot API and MCP server for developers. A single GET request can return a PNG, JPEG, WebP, or PDF. Its captures accept cookie banners like a visitor and remove more than 60 known consent platforms, newsletter popups, and chat widgets before the shot; each step can be turned off. Bot checks, blank pages, timeouts, failed loads, and cache hits cost nothing, and response headers identify the page verdict and billing status. Its MCP server provides take_screenshot, get_page_info, and capture_pdf for Claude, Cursor, and other MCP clients.

Example with cURL:

curl -G "https://api.screenshotneo.com/v1/shot" -d access_key=YOUR_API_KEY --data-urlencode url=https://stripe.com -o shot.webp

See the ScreenshotNeo API documentation for setup and options. The same request can be made in Python:

import requests

r = requests.get(
    "https://api.screenshotneo.com/v1/shot",
    params={"access_key": "YOUR_API_KEY", "url": "https://stripe.com"},
    timeout=90,
)
open("shot.webp", "wb").write(r.content)

Or Node.js:

const q = new URLSearchParams({ access_key: 'YOUR_API_KEY', url: 'https://stripe.com' });
const res = await fetch(`https://api.screenshotneo.com/v1/shot?${q}`);
if (!res.ok) throw new Error(`Screenshot request failed: ${res.status}`);
const shot = Buffer.from(await res.arrayBuffer());
await import('node:fs/promises').then(fs => fs.writeFile('shot.webp', shot));

ScreenshotNeo also supports full-page captures with lazy images loaded, CSS-selector element captures, dark mode, 12 device presets or custom viewports, retina scale, PDF paper size and page ranges, HTML/CSS capture, custom CSS and JavaScript, click-before-capture, selector hiding, wait conditions, request blocking, custom headers and cookies, user agents and Authorization, timezone and geolocation, transparent backgrounds, resizing, configurable cache TTL, signed image links, asynchronous jobs with signed webhooks, bulk capture for 100 URLs per call, a usage API, and an OpenAPI spec. Its parameter names also work with those used by other screenshot APIs. All features are on every plan.

The free plan includes 1,000 screenshots per month with no card. Paid plans start at $5 for 3,000 screenshots; higher plans are $15 for 15,000, $39 for 60,000, $99 for 250,000, and $249 for 1,000,000. Yearly billing gives two months free. For a screenshot capture workflow, this can avoid setting up and maintaining a browser runner; it does not replace Selenium interaction tests or human review of subjective design choices.

Create a free ScreenshotNeo account for 1,000 screenshots a month with no card.

FAQ

Is “A Smattering of Selenium #66” a Selenium version?

No. It is the sixty-sixth post in the Smattering series.

Who wrote it and when?

Adam Goucher published the roundup on October 19, 2011.

Does it contain a current Selenium tutorial?

No. It is a historical link roundup. Consult current documentation for implementation details.

Does the post contain a statistical finding?

No named statistic or quantitative study appears in the issue.