Browser Sessions
ProvaLab.io provides cloud-hosted browsers so you can run your web tests across multiple browser types and versions without installing them locally. You can use cloud browsers for both manual exploratory testing and automated test execution with frameworks like Playwright, Selenium, and Cypress.
Supported Browsers and Versions
| Browser | Available Versions | Operating System |
|---|---|---|
| Chrome | Latest stable, Beta, and 3 previous stable versions | Linux, Windows, macOS |
| Firefox | Latest stable and 3 previous stable versions | Linux, Windows |
| Edge | Latest stable and 1 previous stable version | Windows |
| Safari | Latest stable | macOS |
If you need to test on a specific browser version that is not listed, contact your administrator. Custom browser versions can be added to your organization's cloud grid.
Starting a Manual Browser Session
To launch a cloud browser for exploratory or manual testing:
- Navigate to QA Infrastructure in the sidebar.
- Select the Browsers tab.
- Choose a browser and version from the list.
- Optionally configure settings:
- Viewport size -- Set a specific screen resolution (e.g., 1920x1080, 1366x768, 375x812 for mobile)
- Locale -- Set the browser language/region (e.g., en-US, fr-FR, ja-JP)
- Timezone -- Set the timezone for the session (e.g., America/New_York, Europe/London)
- Click Start Session.
- A live browser window opens in your ProvaLab.io interface.
- Navigate to your application URL and begin testing.
Configuring Browser Capabilities
When launching a browser session (manual or automated), you can customize its behavior:
Viewport and Screen Size
Control the browser window dimensions to test responsive designs:
- Desktop: 1920x1080, 1440x900, 1366x768
- Tablet: 1024x768, 768x1024
- Mobile: 375x812, 414x896, 360x640
Locale and Language
Set the browser locale to test internationalization:
- Language preferences for content negotiation
- Number and date formatting
- Right-to-left (RTL) text support
Timezone
Override the browser's timezone to test time-sensitive features:
- Scheduled events and notifications
- Date display formatting
- Time-based business logic
Network Conditions
Simulate different network conditions to test performance:
- Fast 3G -- 1.6 Mbps down, 0.75 Mbps up, 150ms latency
- Slow 3G -- 0.5 Mbps down, 0.25 Mbps up, 400ms latency
- Offline -- No network connectivity (test offline mode)
Geolocation
Set a custom geolocation for the browser to test location-based features.
Connecting Your Automation Framework
You can run your existing Playwright, Selenium, or Cypress tests on ProvaLab.io cloud browsers by configuring your framework to use the ProvaLab.io grid as a remote endpoint.
Getting Connection Details
- Go to QA Infrastructure and select the Browsers tab.
- Click Connection Details at the top of the page.
- You will see:
- Grid URL -- The WebDriver remote endpoint
- API Key -- Your authentication token for connecting
Playwright
const { chromium } = require('playwright');
const browser = await chromium.connect({
wsEndpoint: 'wss://grid.your-tms-instance.com/playwright',
headers: {
'Authorization': 'Bearer YOUR_API_KEY'
}
});
const context = await browser.newContext({
viewport: { width: 1920, height: 1080 },
locale: 'en-US',
timezoneId: 'America/New_York'
});
const page = await context.newPage();
await page.goto('https://your-app.com');
// ... your test code
Selenium (Python)
from selenium import webdriver
from selenium.webdriver.chrome.options import Options
options = Options()
options.set_capability("browserVersion", "latest")
options.set_capability("platformName", "linux")
driver = webdriver.Remote(
command_executor="https://grid.your-tms-instance.com/wd/hub",
options=options
)
driver.get("https://your-app.com")
# ... your test code
Selenium (Java)
ChromeOptions options = new ChromeOptions();
options.setCapability("browserVersion", "latest");
options.setCapability("platformName", "linux");
WebDriver driver = new RemoteWebDriver(
new URL("https://grid.your-tms-instance.com/wd/hub"),
options
);
driver.get("https://your-app.com");
// ... your test code
Store your Grid URL and API Key as environment variables rather than hardcoding them. This makes it easy to switch between local and cloud execution without changing your test code.
Viewing Live Browser Sessions
While a browser session is running (manual or automated), you can watch it in real time:
- Go to QA Infrastructure and select the Sessions tab.
- Active browser sessions are listed with a "Live" indicator.
- Click on a session to open the live view.
- You can see the browser screen and all interactions as they happen.
This is especially useful for debugging automated tests -- you can watch exactly what the automation is doing and where it might be going wrong.
Parallel Browser Testing
Run the same test across multiple browsers simultaneously:
- Create a test run in ProvaLab.io.
- In the environment configuration, select Multiple Browsers.
- Choose the browsers you want to test on (e.g., Chrome latest, Firefox latest, Safari latest).
- Start the test run.
- ProvaLab.io launches a separate session for each browser and runs the tests in parallel.
- Results are grouped by browser, making it easy to compare behavior across browsers.
Collecting Artifacts from Sessions
Every cloud browser session automatically captures:
- Screenshots -- Taken automatically on test failure, plus any manual captures
- Video recording -- Full session playback from start to finish
- Console logs -- Browser console output (errors, warnings, info messages)
- Network logs -- HAR file with all HTTP requests and responses
See Artifacts & Recordings for details on accessing and downloading these.
Session Limits and Best Practices
Session Duration
- Manual sessions: Default timeout of 30 minutes, extendable up to 4 hours
- Automated sessions: Timeout matches the test execution time, with a configurable maximum
Concurrent Sessions
The number of concurrent browser sessions depends on your organization's plan. Check QA Infrastructure > Usage to see your current limits and usage.
Best Practices
- Use specific browser versions in CI. Pin your automated tests to a specific browser version to ensure consistent results across runs.
- Clean up sessions promptly. End manual sessions when you are done so the resources are available for your teammates.
- Leverage parallel execution. Run tests across multiple browsers simultaneously instead of sequentially to save time.
- Capture artifacts proactively. Enable automatic screenshot and video recording for your test runs so you always have evidence when debugging failures.