Files
appium/packages/driver-test-support
github-actions 8018f8b70e chore: publish
- appium@3.5.0
 - @appium/base-driver@10.6.0
 - @appium/base-plugin@3.3.0
 - @appium/docutils@2.4.3
 - @appium/driver-test-support@1.2.3
 - @appium/eslint-config-appium-ts@3.2.2
 - @appium/execute-driver-plugin@6.0.4
 - @appium/fake-driver@6.2.0
 - @appium/fake-plugin@4.3.0
 - @appium/images-plugin@4.2.5
 - @appium/logger@2.0.8
 - @appium/opencv@4.1.5
 - @appium/plugin-test-support@1.2.3
 - @appium/relaxed-caps-plugin@2.2.3
 - @appium/schema@1.2.0
 - @appium/storage-plugin@1.1.5
 - @appium/support@7.2.3
 - @appium/test-support@4.1.5
 - @appium/types@1.5.0
 - @appium/universal-xml-plugin@2.1.4
2026-05-31 02:29:56 +00:00
..
2026-05-31 02:29:56 +00:00
2026-05-31 02:29:56 +00:00

@appium/driver-test-support

Testing utilities for Appium drivers

This package is for driver authors to help test their drivers.

Mocha is the supported test framework.

Usage

For E2E Tests

The driverE2ETestSuite method creates a Mocha test suite which makes HTTP requests to an in-memory server leveraging your driver.

Note that this method must be run within a suite callback—not a test callback.

import {driverE2ETestSuite} from '@appium/driver-test-support';

const defaultW3CCapabilities = {
  // some capabilities
};

describe('MyDriverClass', function() {
  driverE2ETestSuite(MyDriverClass, defaultW3CCapabilities);

  describe('more tests', function() {
    // ...
  });
});

For Unit Tests

The driverUnitTestSuite method creates a Mocha test suite which performs assertions on an isolated instance of your driver.

Note that this method must be run within a suite callback—not a test callback.

import {driverUnitTestSuite} from '@appium/driver-test-support';

const defaultW3CCapabilities = {
  // some capabilities
};

describe('MyDriverClass', function() {
  driverUnitTestSuite(MyDriverClass, defaultW3CCapabilities);

  describe('more tests', function() {
    // ...
  });
});

Helpers

These are just some helpers (mainly for E2E tests):

import {TEST_HOST, getTestPort, createAppiumURL} from '@appium/driver-test-support';
import assert from 'node:assert';

describe('TEST_HOST', function() {
  it('should be localhost', function() {
    assert.strictEqual(TEST_HOST, '127.0.0.1');
  });
});

describe('getTestPort()', function() {
  it('should get a free test port', async function() {
    const port = await getTestPort();
    assert.ok(port > 0);
  });
});

describe('createAppiumURL()', function() {
  const urlFor = createAppiumURL(TEST_HOST, 31337);

  it('should create a "new session" URL', function() {
    assert.strictEqual(urlFor('', 'session'), `http://${TEST_HOST}:31337/session`);
  });

  it('should create a URL for a session command', function() {
    const sessionId = '12345';
    assert.strictEqual(
      urlFor(sessionId, 'moocow'),
      `http://${TEST_HOST}:31337/session/${sessionId}/moocow`
    );
  });
});

Installation

appium and mocha are peer dependencies.

npm install appium mocha @appium/driver-test-support --save-dev

License

Apache-2.0