What is Oxygen?

Oxygen is an open-source automation platform that simplifies the work with Selenium and Appium. With Oxygen, manual testers and QA engineers can write automation tests within minutes.

Oxygen significantly simplifies writing and running automation tests of any kind. It's an open source framework and tool-set built on top of Selenium, Appium, WebdriverIO, and WinAppDriver. It implements many commonly recurring patterns out-of-the-box and hides back-end complexities behind a concise API. Oxygen test scripts are written in JavaScript and is compatible with ECMAscript 6. Oxygen is comprised of numerous modules for each of the different functionalities that it supports. It also has native support for BDD - Behavior-Driver Development, with its built-in Cucumber implementation.

Oxygen is made up of two components: Oxygen CLI - Command Line Interface and Oxygen IDE - Integrated Development Environment, a GUI (Graphic User Interface) application.

  • Oxygen CLI - Is a Node.js module and command-line toolset for running tests and generating reports either on a local workstation or as a part of CI/CD process Oxygen CLI can easily be integrated into any Node.js project or CI/CD tool, such as Jenkins. Oxygen CLI lets you execute Test Suites containing multiple sets of test cases.

  • Oxygen IDE - Is a graphic user interface (GUI) application for Windows, Mac and Linux that used for recording, developing, and running tests on web browsers, mobile devices and windows desktop applications. Oxygen IDE is optional but is highly recommended for rapid test script development.

Key Features

  • Best-in-class Node.js based test automation framework, with built-in support for many modern technologies: Web, Mobile, Desktop, Database, REST API, email, SMS, PDF, shell, IoT and more. Expandable with user-created modules.

  • Supports desktop windows application, web, native mobile, hybrid, and mobile-browser applications.

  • Intuitive IDE tailored specifically for writing automation scripts.

  • Cross-browser test recording and execution.

  • Run your tests locally or on any test execution cloud provider.

  • Seamless integration and one-click test execution on browsers and devices available in your LambdaTest, Sauce Labs, TestObject, Testing Bot, and Perfecto account (no need to define capabilities).

  • Built-in parameterization for Data-Driven Testing.

  • Object Repository (Page Objects) that allows for writing easily maintainable tests.

  • Straight-forward integration with any CI/CD tool using Oxygen CLI.

Supported platforms

Oxygen supports the following platforms:

  • Android - Native, Hybrid, and Web

  • iOS - Native, Hybrid, and Web

  • Windows - Desktop, Chrome, Firefox, Internet Explorer (Support for Microsoft EDGE coming soon in an upcoming version)

  • Linux - Chrome, Firefox

  • OS X - Safari, Chrome, Firefox

Oxygen test scripts are written in JavaScript:

// Define capabilities
var capabilities = {
    browserName: 'chrome',
    'goog:chromeOptions': {
        args: [
            '--headless',
            '--no-sandbox',
            '--disable-notifications',
        ],
    }
}

// Login into a web site (desktop web application).
web.init(capabilities);
web.open('http://example.org');

web.click('link=login');
web.type('id=username', 'USERNAME');
web.type('id=password', 'PASSWORD');
web.assertTitle('TITLE');

// Get value from a data base and validate that it matches the one we see on the screen.
db.setConnectionString('Driver={SQL Server};Server=DESKTOP-NAME\\SQLEXPRESS;Database=db;');

var userEmailDb = db.executeQuery("SELECT email FROM users WHERE username = 'username';");
var userEmailEl = web.getText("id=userEmail");
assert.equal(userEmailEl, userEmailDb);

// Launch native application running on a mobile device, click a button, validate that user is logged in.
web.click('//*[@id="profile"]');
web.assertText('id=user_email', userEmailDb);

Last updated