Skip to content
Solutions

Testing and QA infrastructure

Testing and QA infrastructure

Run WebDriver-based UI test suites from CI against a self-hosted Selenium Grid 4. You operate the CI wiring and test suites; Quake AI provides the Compute instance and network the grid runs on.

What this is for#

Teams that run browser-based UI test suites from CI need Chrome and Firefox sessions on demand, without a per-minute device-farm bill from BrowserStack or Sauce Labs. A Selenium Grid hub with browser nodes gives CI runners that on-demand capacity, running on infrastructure you own. The outcome is a WebDriver endpoint your test suites point at, deployable from a validated OpenTofu template and its companion tutorial.

Reference architecture#

CI runnerQuake AIselenium-grid-testing templateSelenium hub (:4444)Chrome nodes (x2)Firefox node register and dispatch sessionsregister and dispatch sessionsWebDriver sessions (:4444)
Click to zoom
Testing infrastructure on Quake AI: a CI runner opens WebDriver sessions against the Selenium hub, which dispatches sessions to Chrome and Firefox browser nodes, all on the selenium-grid-testing template's instance

Download diagram: SVG, PNG, and PDF.

The base is a single validated template: Selenium Grid testing provisions the instance and network the grid runs on.

  1. CI runner. A CI job opens WebDriver sessions against the grid's hub over the private network or a scoped CIDR.

  2. Selenium hub. The Selenium Grid testing template runs a Selenium Grid 4 hub on port 4444 in Docker on a Compute instance, which accepts sessions and dispatches them to registered nodes.

  3. Browser nodes. Two Chrome nodes and one Firefox node run as sibling containers on the same instance and register with the hub over the event bus; sessions are ephemeral and nothing persists across a container restart.

Services involved#

ServiceRole in this architectureDocs
ComputeHosts the hub and all three browser nodesCompute
NetworkPrivate network, security group scoped to CI runner CIDRs, and floating IP for external CI runnersNetwork

Get started#

Estimate the cost#

Monthly cost estimate

Pricing calculator ↗

Sized as a custom package on shared vCPU.

Starting template$63.40/mo

Monthly total for the required template above. Use the configurator below to add optional pieces and see the total update.

What each resource is for

Selenium Grid host

s1a.large · 8 shared vCPU, 8 GiB RAM, 0.5 Gbps

Runs a stateless Selenium Grid hub plus two Chrome nodes and one Firefox node, all ephemeral with no attached data volume.

The hub plus three browser node containers need real memory headroom to avoid crashes under load; 8 vCPU and 8 GiB RAM is the floor. Size up further for more nodes or heavier test suites.

$66.00/mo

Compute shown per role at custom-package rates ($29/dedicated vCPU, $7.25/shared vCPU, $1/GiB RAM). The headline above is the billed total: the cheaper of a named plan and the custom package, plus add-ons.

Included in baseline

s1a.large

8 shared vCPU, 8 GiB RAM, 0.5 Gbps

$66.00

Compute + RAM rate basis

8 vCPU + 8 GiB RAM at $29/dedicated vCPU, $7.25/shared vCPU, $1/GiB RAM (regular). Totals apply the flat −$5/mo package promotion.

—

Block storage (30 GiB)

30 GiB at $0.08/GiB/mo

$2.40

Public IP (included)

1 included with the custom package

$0.00

Package promotional discount

Flat −$5.00/mo on the custom package (same promotion as named plans).

$-5.00

Included at no charge

These line items are zero on Quake AI. Many other providers meter them separately.

Data transfer (inbound and outbound)

Unlimited data transfer on every plan; Quake AI does not meter per-GB egress.

AWS, GCP, and Azure meter outbound transfer per GB. DigitalOcean and Hetzner include an allowance on compute plans, then charge overage.

Learn more
$0.00

Private networking

Private networks, subnets, Neutron routers, and security groups are included with the plan.

VPC objects are usually free to create elsewhere, but NAT gateways bill hourly plus per-GB processed. Quake AI uses router SNAT with no separate NAT line item.

$0.00

Control-plane API requests

OpenStack API calls for provisioning and management are included.

Some managed services on other clouds meter API calls or charge for premium control-plane features.

$0.00

Pricing data last validated: . For current rates, check quake.ai/pricing.

Considerations and limits#

  • No built-in authentication. A Selenium Grid ships with no login and no API token. Never widen grid_allowed_cidr to 0.0.0.0/0; scope it to your CI runner IPs or VPN CIDR.
  • Sessions are ephemeral by design. Nothing a test run produces persists across a container restart, so there is nothing to back up beyond the pinned image tag and the compose file itself.
  • Scale nodes as suites grow. Add Chrome or Firefox capacity with docker compose up -d --scale, or add a selenium/node-edge service for a third browser; give each additional node its own shm_size and event-bus configuration.
  • Flat egress. Quake AI applies a no-egress-fee policy for outbound transfer.
  • Three US regions. All current regions are in the United States.
  • Compliance posture. Quake AI holds SOC 2 Type I and Type II attestations and SOC 3. See Compliance and certifications for the platform scope.
Was this page helpful?