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 pageshowhide
explore
- Sourcing the Fleet13 questions
- Rented Platform Shape4 questions
- Session Container Grids5 questions
- Real and Virtual Targets4 questions
- Remote Session Wiring24 questions
- Pointing the Client16 questions
- Private Network Reach8 questions
- Capacity and Cost16 questions
- Running Many at Once8 questions
- Spend Levers8 questions
- Triaging from Afar16 questions
- Recorded Streams8 questions
- Result Attribution8 questions
- Access and Data Trust16 questions
- Account Credentials8 questions
- Offsite Exposure8 questions
questions
85 · 5 sectionsIn Selenoid, what is created when a browser session starts and what happens to it at the end?
basics
~20 sSelenoid 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.
On a shared real device at a hosted provider, what can carry over from the previous tenant's session?
basics
~20 sAnything 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.
Which browser targets can a rented fleet host that a Linux container grid cannot?
basics
~20 sA 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.
In a Ggr and Selenoid cluster, which setting actually caps how many sessions run at once?
basics
~20 sSelenoid'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.
Your nightly survey suite finishes fast on virtual targets and unpredictably on ruggedised handsets. What property of the fleet explains it?
basics
~20 sVirtual 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.
Why do a hosted browser provider's settings arrive as one colon-prefixed capability map?
basics
~20 sW3C 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.
Which of your hostnames does a hosted browser provider's tunnel carry, and what happens to the rest?
basics
~20 sA 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.
In a tunnelled hosted browser run, why pass an internal hostname rather than its address?
basics
~20 sAn 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.
How does a hosted browser reach an internal site that has no public address?
basics
~20 sA 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.
Why is a remote WebDriver endpoint address that carries user info a secret in its own right?
basics
~20 sBecause 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.
Does raising a test runner's worker count raise a hosted provider's session ceiling?
basics
~20 sNo. 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.
What is a hosted browser provider's session ceiling attached to, and what is it not attached to?
basics
~20 sIt 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.
How does a suite tell a capacity refusal from a genuine session failure at a remote grid?
basics
~20 sNot 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.
A hosted browser provider is holding your new-session request open — what bounds that wait?
basics
~20 sNothing 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.
On a hosted browser provider, what does a test run consume, and what sets how much?
basics
~20 sA 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.
Who records the video of a hosted browser session, and what must your test do to get it?
basics
~20 sThe 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.
In Selenoid and docker-selenium, how does a session-video recorder capture a browser it never runs inside?
basics
~20 sA 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.
On a hosted browser fleet, what can end your ferry-booking session before the test does?
basics
~20 sA 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.
At a hosted browser provider, sessions from your driving-test booking suite carry no verdict — what are the causes?
basics
~20 sA 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.
What should a suite send to a hosted browser provider alongside each session's verdict, and why?
basics
~20 sSend 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.
A hosted browser types your benefits-claim portal password into a real login form — where does that password end up?
basics
~20 sTyping 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.
On a hosted browser provider, what does your benefits-claim suite's session actually carry out of your boundary?
basics
~20 sA 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.
What makes a hosted browser provider's account credential different from your pipeline's other secrets?
basics
~20 sThree 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.
On a shared browser-provider account, whose session recordings can your key fetch?
basics
~20 sPotentially 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.