ioBuster framework v25.02.4 documentation


ioBuster Framework Guide

What is ioBuster?

ioBuster is a tool for testing using scripts written in JavaScript. It's different from popular JavaScript runtimes like Node.js or Deno. What makes ioBuster special is that it has its own built-in libraries and global variables.

Starting with ioBuster

How to Get Sample Tests

ioBuster gives you sample tests to try. To get these tests:

iobc run config sample-scripts

After you do this, a folder named sample_tests will show up. This folder has the sample tests.

How to Use Tests

Running a Test

When you're ready, you can run a sample test. Here's how:

Coordinator # test run all sample_tests/test.js

What is a Workspace?

In ioBuster, the word "Workspace" is important. When you say test run, the Workspace is the main folder of the test. If you type test run all main/tests/test.js, then main becomes the Workspace. It's where your test starts.

Paths in ioBuster

Let's imagine your folder structure looks like this:

main/
├── utils/
│   └── helper.js
└── tests/
    └── sampleTest.js

ioBuster uses two ways to find and use scripts:

  • Relative Path: Tells ioBuster where the script is based on where you are now. If you're inside the tests folder and want to use the helper.js, you would say: importScript('../utils/helper.js').

  • Absolute Path: This starts from the Workspace (remember, in our case it's main). To use helper.js, you'd say: importScript('/utils/helper.js').

Both runScript and importScript understand these paths.

How to Use a Script

Using importScript

importScript lets you use a script in your current one. If you use the same script two times with importScript, it runs only once.

Example:

importScript('utils/helper.js')

This means "I want to use helper.js from the utils folder."

Using runScript

runScript lets you run a script. It will run the script every time you use runScript.

Example:

runScript('tests/sampleTest.js')

This means "I want to run sampleTest.js from the tests folder."