@appium/plugin-test-support
TypeScript icon, indicating that this package has built-in type declarations

0.3.53 • Public • Published

@appium/plugin-test-support

Testing utilities for Appium plugins

This package is for plugin authors to help test their plugins.

Mocha is the supported test framework (but can theoretically be used with others).

Usage

For E2E Tests

The pluginE2EHarness method configures a server and driver for testing via "before all" and "after all"-style hooks.

This example uses WebdriverIO to communicate with a test Appium server.

import {pluginE2EHarness} from '@appium/plugin-test-support';
import {remote} from 'webdriverio';

describe('MyPlugin', function() {
  pluginE2EHarness({
    before: global.before, // from mocha
    after: global.after, // from mocha
    serverArgs: SOME_EXTRA_SERVER_ARGS,
    port: 31337,
    host: '127.0.0.1',
    appiumHome: process.env.APPIUM_HOME, // best practice: use a temp dir instead
    driverName: 'fake', // driver to test with
    driverSource: 'local', // use "local" unless you want appium to install from npm every time
    driverSpec: FAKE_DRIVER_DIR, // path to local driver working copy or installation
    pluginName: 'MyPlugin', // your plugin 
    pluginSource: 'local', // use "local" for this
    pluginSpec: THIS_PLUGIN_DIR, // dir of this plugin's `package.json`
  });

  it('should use my plugin', async function() {
    // at this point, the Appium server will be running with the plugin/driver combination of your
    // choosing

    // port/host should match what you provided to `pluginE2EHarness`
    const browser = await remote({port: 31337, hostname: '127.0.0.1'});
  })
});

License

Apache-2.0

Package Sidebar

Install

npm i @appium/plugin-test-support

Homepage

appium.io

Weekly Downloads

303

Version

0.3.53

License

Apache-2.0

Unpacked Size

35.6 kB

Total Files

10

Last publish

Collaborators

  • jlipps
  • nick.mokhnach
  • kazucocoa
  • boneskull