Appetize Docs
HomeDemoUploadPricing
  • Introduction
  • Platform
    • App Management
      • Uploading Apps
        • Android
        • iOS
      • App Dashboard
      • Running Apps
      • App Permissions
    • Device Sandbox
    • Embedding
    • Sharing
    • Session Inactivity Timeout
    • Query Params Reference
  • Features
    • Devices & OS Versions
    • Network Traffic Monitor
    • Debug Logs
    • UI Automation
    • Proxy
    • Language & Locale
    • Mock Location
    • Deep links
    • Launch Params
    • Media
    • Auto-grant Permissions
    • Custom Branding
    • Custom Launch Pages
    • Advanced Features
      • Android
        • ADB tunnel
        • Hide Password Visibility
      • Reserved Devices
  • Account
    • Invite your team
    • Single Sign-On
      • OpenID Connect
      • SAML
      • Azure Active Directory
      • Google Workspace (GSuite)
    • Reporting
      • Session History
      • Usage Summary
  • Infrastructure
    • Configure Network Access
    • Enterprise Hosting Options
  • JavaScript SDK
    • Configuration
    • Automation
      • Device commands
      • Touch interactions
    • API reference
      • Initialization
      • Client
      • Session
      • Types
        • AdbConnectionInfo
        • AppetizeApp
        • AndroidElementAttributes
        • Coordinates
        • DeviceInfo
        • Element
        • ElementBounds
        • IOSAccessibilityElement
        • IOSElementAttributes
        • NetworkRequest
        • NetworkResponse
        • SessionConfig
        • SwipeMove
        • RecordedAction
        • RecordedSwipeAction
        • RecordedKeypressAction
        • RecordedPosition
        • RecordedTapAction
        • RecordedTouchAction
        • UserInteraction
  • Testing
    • Getting Started
    • Writing Tests
    • Running Tests
    • Test Configuration
    • Continuous Integration
    • Record Tests (experimental)
    • Trace Viewer
    • Web Tests on Mobile Browsers
  • REST API
    • Create new app
    • Update existing app
    • Direct file uploads
    • Delete app
    • List apps
    • Usage summary
    • Devices & OS Versions
      • v1
    • IP Blocks
      • v1
    • Sample code
  • Guides & Samples
    • Impersonation
    • Automate Sign-in Flow
    • Screenshot Automation
    • Unlock Device
    • Validate Analytics Events
    • Lock Your Device to One App
    • Test Accessibility Font Sizes
    • Common testing scenarios
    • Samples Repository
  • Deprecated
    • Cross-document messages
  • Changelog
  • Additional Support
    • Knowledge Base
    • Support Request
Powered by GitBook
On this page
  • Prerequisites
  • Configuration
  • Page Fixture
  • Update your imports
  • Run your tests
  1. Testing

Web Tests on Mobile Browsers

With a simple import change and a configuration update, you can use your existing Playwright tests to also do native browser testing with the Appetize integration

Last updated 7 months ago

Prerequisites

Before you begin, make sure you have the following:

  • Preferred Android Device: You will need one of our with Chrome 87 or higher (Android 13+ is recommended for best results).

  • ADB Installed: Ensure is installed on your system.

  • Enable ADB Tunnel: Enable on the session used.

Configuration

If you haven’t set up Appetize with Playwright yet, we recommend look at our guide. After successfully integrating Appetize, open the playwright.config.ts file to configure the settings for your desired device for native browser testing. If you are already using Playwright for web testing, you can easily add a new project as shown below.

For the buildId, we suggest using your ID, which can be found in the URL bar. Look for the identifier that starts with standalone_*** and use that as your buildId. Here’s an example configuration:

{
    name: 'Appetize Native Browser Test',
    use: {
        config: {
                device: 'pixel7',
                osVersion: '13',
                publicKey: 'standalone_***',
                enableAdb: true
        }
    }
}

Page Fixture

The Appetize integration overrides the default page fixture to automatically determine when to use a standard browser (e.g., Chrome or Firefox) versus a native device browser for testing. This means all the logic is handled for you, simplifying the testing process.

Update your imports

To get started, simply update your imports. Change your Playwright import for test to the Appetize version:

From:

import { test } from '@playwright/test';

To:

import { test } from '@appetize/playwright';

Run your tests

Android devices
Android Debug Bridge (ADB)
ADB tunnel
Getting Started
device's sandbox
Running Tests