skip to content

Browser & Device Clouds

Renting browsers and real phones instead of running your own grid: choosing a capability matrix, tunnelling to a private build, and reading the video when a remote run fails.

on this pageshow

explore

questions

85 · 5 sections

In Selenoid, what is created when a browser session starts and what happens to it at the end?

level: juniorimportance: must knowfreq 66%
basics
~20 s

Selenoid starts a fresh Docker container per WebDriver session, proxies the session to the driver inside, then force-removes it on delete. Nothing carries over: no profile, cookies, downloads or stray process, unless browsers.json mounts a host directory in.

open as a page

On a shared real device at a hosted provider, what can carry over from the previous tenant's session?

level: middleimportance: must knowfreq 62%
basics
~20 s

Anything the cleaning between sessions did not reach: installed apps and their data, signed-in accounts, granted permissions, clipboard, downloads, browser profile and system settings like locale. Battery charge and temperature carry over regardless, because they are physical, not configured.

open as a page

Which browser targets can a rented fleet host that a Linux container grid cannot?

level: middleimportance: must knowfreq 70%
basics
~20 s

A Linux container grid hosts what Linux can run, so Chromium-family and Firefox builds. Apple's Safari needs Apple machines and a handset is hardware, so a rented fleet reaches them only because the provider racked those machines.

open as a page

In a Ggr and Selenoid cluster, which setting actually caps how many sessions run at once?

level: middleimportance: must knowfreq 60%
basics
~20 s

Selenoid's server-side limit flag does, capping simultaneous container runs on each Selenoid host. Ggr has no concurrency ceiling at all; the count attribute in its quota file is a relative host weight for load balancing, not a cap.

open as a page

Your nightly survey suite finishes fast on virtual targets and unpredictably on ruggedised handsets. What property of the fleet explains it?

level: seniorimportance: must knowfreq 56%
basics
~20 s

Virtual capacity is manufactured on demand: an image started onto server capacity the provider extends by adding servers. A handset model exists as physical units nobody can duplicate, so that supply grows slowly, and it shrinks as units fail.

open as a page

Why do a hosted browser provider's settings arrive as one colon-prefixed capability map?

level: juniorimportance: must knowfreq 68%
basics
~20 s

W3C WebDriver reserves the colon for extension capabilities, so a provider's settings must sit under prefixed keys; gathering them into a single map is convention, not a rule. Loose non-standard keys are not capabilities the specification recognises at all.

open as a page

Which of your hostnames does a hosted browser provider's tunnel carry, and what happens to the rest?

level: juniorimportance: must knowfreq 66%
basics
~20 s

A tunnel carries traffic for a defined set of names; anything outside that set the remote browser fetches the ordinary way. The danger is silence: an unlisted internal name can resolve publicly and the test passes against the wrong site.

open as a page

In a tunnelled hosted browser run, why pass an internal hostname rather than its address?

level: middleimportance: must knowfreq 58%
basics
~20 s

An internal name means something only to a resolver inside your network, so the name itself must cross the tunnel and resolve at the inside end. A pre-resolved address freezes one machine's answer, which the rented browser cannot check.

open as a page

How does a hosted browser reach an internal site that has no public address?

level: middleimportance: must knowfreq 66%
basics
~20 s

A relay process inside your own network opens an outbound connection to the provider and holds it open; the rented browser's requests for internal names travel back down that connection, so no inbound firewall opening is needed.

open as a page

Why is a remote WebDriver endpoint address that carries user info a secret in its own right?

level: middleimportance: must knowfreq 72%
basics
~20 s

Because the credential is a component of the URL rather than a separate field, every tool that touches the address touches the secret. Selenium's own client both authenticates from that user info and masks it before printing a request.

open as a page

Does raising a test runner's worker count raise a hosted provider's session ceiling?

level: juniorimportance: must knowfreq 72%
basics
~20 s

No. The worker count is a local setting that decides how many sessions your suite tries to hold at once; the ceiling belongs to the provider account and is enforced there, whatever your runner is configured to do.

open as a page

What is a hosted browser provider's session ceiling attached to, and what is it not attached to?

level: middleimportance: must knowfreq 66%
basics
~20 s

It is attached to the account a session request authenticates as, not to a machine, a pipeline, a repository or a person. Everything presenting that account's credential draws on the same ceiling, including runs your team never started.

open as a page

How does a suite tell a capacity refusal from a genuine session failure at a remote grid?

level: seniorimportance: must knowfreq 57%
basics
~20 s

Not from the error code. WebDriver defines no capacity error, so implementations reuse the generic ones and only the message string names the cause. Read the message text, the failure's timing, and your own queue counters instead.

open as a page

A hosted browser provider is holding your new-session request open — what bounds that wait?

level: seniorimportance: must knowfreq 66%
basics
~20 s

Nothing on the far side necessarily bounds it. Selenoid, unmaintained per its own README, waits until a slot frees or the client disconnects, with no server deadline, so your client's read timeout is the bound you actually control.

open as a page

On a hosted browser provider, what does a test run consume, and what sets how much?

level: juniorimportance: should knowfreq 66%
basics
~20 s

A run consumes session time — the count of sessions open at once multiplied by how long each stays open. Running wider shortens wall-clock but barely moves that total; shortening each session shrinks it directly, and idle time counts.

open as a page

Who records the video of a hosted browser session, and what must your test do to get it?

level: juniorimportance: must knowfreq 68%
basics
~20 s

The service makes the recording on its own machine: a capture process beside the browser grabs the virtual screen for the whole session. A test asks with one setting in the session request and fetches the finished file afterwards.

open as a page

In Selenoid and docker-selenium, how does a session-video recorder capture a browser it never runs inside?

level: middleimportance: must knowfreq 58%
basics
~20 s

A separate container reads the browser's virtual display over the container network and encodes it, needing no hook in the browser and no driver command. The two projects differ in whether that recorder is per session or standing.

open as a page

On a hosted browser fleet, what can end your ferry-booking session before the test does?

level: middleimportance: must knowfreq 63%
basics
~20 s

A remote end can end your session first: an inactivity timer that frees the slot, a ceiling on total session length, your own client hanging up, or the fleet reclaiming the machine. Later commands then fail on an unknown session.

open as a page

At a hosted browser provider, sessions from your driving-test booking suite carry no verdict — what are the causes?

level: seniorimportance: must knowfreq 57%
basics
~20 s

A missing verdict takes one of three shapes: the call was skipped before it ran, refused when it arrived, or lost when the process died. That is evidence about your reporting path, not about the test.

open as a page

What should a suite send to a hosted browser provider alongside each session's verdict, and why?

level: seniorimportance: must knowfreq 61%
basics
~20 s

Send the verdict, a case name that is stable across runs, something separating this attempt from the last, and a short failure reason. Keep secrets out of all of it: the payload lands on someone else's machine.

open as a page

A hosted browser types your benefits-claim portal password into a real login form — where does that password end up?

level: juniorimportance: must knowfreq 61%
basics
~20 s

Typing a password into a rented browser delivers the live secret onto hardware you do not own: it sits in the form field, in that browser process, and in whatever the page's own script does with it.

open as a page

On a hosted browser provider, what does your benefits-claim suite's session actually carry out of your boundary?

level: juniorimportance: must knowfreq 68%
basics
~20 s

A rented session is a browser on hardware you do not own, so it holds what any browser holds: the passwords your test types, the tokens the logged-in session carries, claim records rendered on screen, and internal names it resolves.

open as a page

What makes a hosted browser provider's account credential different from your pipeline's other secrets?

level: middleimportance: must knowfreq 66%
basics
~20 s

Three things: it is standing, so only the issuer ending it ends it; it names and authenticates the account with one pair; and its destination is inside a connection address, so it lands in a string many tools print whole.

open as a page

On a shared browser-provider account, whose session recordings can your key fetch?

level: middleimportance: must knowfreq 56%
basics
~20 s

Potentially every run on the account. An artefact route commonly checks only that the caller authenticates, then resolves the recording from its session identifier, so a credential that never started the run can still fetch it. Measure that boundary yourself.

open as a page

Several teams share one browser-provider account — what does that couple together?

level: middleimportance: must knowfreq 51%
basics
~20 s

Entitlement, capacity, artefacts, audit identity and revocation all collapse onto the account. Whoever holds the key draws on the same pool, reads the same artefacts, appears in records under the same name, and loses access together when it is rotated.

open as a page