SideeX / sideex-api

SideeX JavaScript API is a JS library running on a webpage for recording and playing web browsing behavior
Apache License 2.0
22 stars 5 forks source link

SideeX JavaScript API

npm-version npm-download License PRs Welcome

SideeX JavaScript API is a JS library running on a webpage for recording and playing web browsing behavior. It is the core library of SideeX 2. As opposed to acting as a browser web extension, the API can be directly embedded and used within a webpage via JavaScript.

Two Ways to Use SideeX API

Via \<script \/> tag

<script src="https://unpkg.com/@sideex/api/dist/index.bundle.mjs"></script>
<script>
var sideex = new SideeX();
//Then refer to the following code sample 1, 2, or 3 for using SideeX API
</script>

Via npm

At first, download the SideeX API library via npm:

npm i @sideex/api

Then, import and use the SideeX API as follows:

import { SideeX } from "@sideex/api" 
var sideex = new SideeX();
//Then refer to the following code sample 1, 2, or 3 for using SideeX API

Code Samples

Sample 1 - Record and playback

sideex.recorder.start();//start recording
/* 
  Record a command
  For example: click at anywhere on the window,
  then you get a ClickAt command  
*/
sideex.recorder.stop();//stop recording
console.log(sideex.file.command.get(0));//get the first recorded command
sideex.playback.start();//replay the recorded commands

Sample 2 - Save and load the recorded commands

sideex.recorder.start();//start recording
/* 
  Record a command
  For example: click at anywhere on the window,
  then you get a ClickAt command  
*/
sideex.recorder.stop();//stop recording
console.log(sideex.file.command.get(0));//get the record that you recorded
let jsonString = sideex.file.testSuite.save();//serialize the recorded commands to a JSON string

//save the jsonString on your own

sideex.file.testSuite.load(jsonString);//load the jsonString
sideex.playback.start();//replay the recorded commands

Sample 3 - Change a recorded command to a user-defined action

sideex.recorder.start();//start recording
/* 
  Record a command
  For example: click at anywhere on the window,
  then you get a ClickAt command  
*/
sideex.recorder.stop();//stop recording
console.log(sideex.file.command.get(0));//get the first recorded command
let command = sideex.file.command.get(0);
command.name = "myAction";//rename the command name to "myAction"
console.log(sideex.file.command.get(0));//see the change of the command name
//add a user-defined function for executing "myAction"
sideex.playback.addCustomCommand("myAction", true, (target, value) => {
    console.log(target, value);
    //define the action here
    }
);
sideex.playback.start();//replay the modified recorded commands

API Docs