Sample Project - Web Test

A project should include 3 core files:

oxygen.conf.js, which includes the project configuration, this file contains the tools for the project such as which modules to use, creating suites to run multiple scripts, reporting type, etc.

oxygen.env.js, which includes the environments, different URLs, usernames, connection string for each environment, which can be later used by selecting the environment inside oxygen settings.

oxygen.po.js, which includes all the page objects, locators, functions, etc.

Simple web test example from scratch

Let's start by creating a folder and inside it creating the oxygen.env.js and defining our environments

module.exports = {

    TEST: { 
        url: '',
        db_con_string: 'Driver={SQL Server};Server=DESKTOP\\SQLEXPRESS;Database=test;'
        username: 'test.user',
        password: 'test123'

    PROD: {
        url: '',
        db_con_string: 'Driver={SQL Server};Server=DESKTOP\\SQLEXPRESS;Database=prod;',
        username: 'username',
        password: 'password'


Now let's create the oxygen.po.js file

module.exports = {
    searchPage: {
        searchInput: 'id=searchInput',
        searchButton: '//button[@type="submit"]'
    search: (item) => {
        web.type(po.searchPage.searchInput, item)

Finally let's create the oxygen.conf.js file

module.exports = {
    suites: [{
        name: 'End to End tests',
        cases: [
            { path: './Scripts/01. ' },
            { path: './Scripts/02. ' },
            { path: './Scripts/03. ' },

    modules: ['web', 'log', 'assert'],

    reporting: {
        reporters: ['html', 'json']


And now let's create a folder with our test scripts, our first test will be searching for Selenium in Wikipedia

Don't forget to choose an environment

web.transaction('01. Initialize')

web.transaction('02. Open Wikipedia Main Page')

web.transaction('03. Seach For Selenium')'Selenium')

web.transaction('04. Assert Results')

The following repository is provided as a sample project.

Last updated