@codeceptjs/aerokube-plugin

CodeceptJS support for Aerokube Browsers https://browsers.aerokube.com

Usage no npm install needed!

<script type="module">
  import codeceptjsAerokubePlugin from 'https://cdn.skypack.dev/@codeceptjs/aerokube-plugin';
</script>

README

aerokube Plugin

Cloud browser testing with Aerokube Browsers in CodeceptJS.

API

Table of Contents

index

Run WebDriver and Puppeteer tests in cloud browsers provided by Aerokube. Aerokube provides lightning fast and comparable cheap browsers without pain of maintaining own infrastructure. This plugin works with WebDriver and Puppeteer helpers of CodeceptJS.

If you need to host cloud browsers on your own infrastructure consider browsers in Kubernetes with Aerokube Moon

Setup

Install this plugin in CodeceptJS project.

npm i @codeceptjs/aerokube-plugin --save-dev

Enable the plugin in codecept.conf.js

// codecept.conf.js config 
exports.config = {
  helpers: {
     // regular Puppeteer config
     // or regular WebDriver config
  },
  // ....
  plugins: {
     aerokube: {
       require: '@codeceptjs/aerokube-plugin',
       user: '<username from aerokube>',
       password: '<password from aerokube>',
     }
  } 
}

It is recommended to use dotenv package to store username and password from Aerokube Browsers. See the config in example dir.

To run tests in cloud, enable this plugin:

npx codeceptjs run -p aerokube

To enable aerokube plugin permanently set enabled: true in plugin config.

Usage Infromation

WebDriver

  • Desired capabilities are ignored

Puppeteer

We use webdriverio library to initialize a browser session and obtain DevTool Protocol API credentials.

  • windowSize option is used to set initial window size. Not viewport size.
  • Chrome starting options are ignored.

Parameters

  • conf

Example Project

To try aerokube plugin without a project, use the one provided in this repo inside example directory.

  1. Register at Browsers Aerokube.

  2. Run npm install to install all depdndencies.

  3. Create .env file with the following contents. Username and password should be obtained from Aerokube Browsers.

    • ACCOUNT=<username from aerokube>
    • PASSWORD=<password from aerokube>
  4. Execute tests :

    • To launch tests in WebDriver npx codeceptjs run -c example --steps

    • To launch tests in Puppeteer

      PUPPETEER=true npx codeceptjs run -c example --steps