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.
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.
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
// Login into a web site (desktop web application).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.var userEmailDb = db.query("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.init(capabilities);web.click('//*[@id="profile"]');web.assertText('id=user_email', userEmailDb);