0.0.0-aj-beta.8 • Published 1 year ago

@abstraktor/actorjs v0.0.0-aj-beta.8

Weekly downloads
-
License
SEE LICENSE IN Li...
Repository
gitlab
Last release
1 year ago

ActorJs

ActorJs is a tool for end-to-end testing that you run in a browser.

Trigger, mock, and intercept anything.

ActorJs simulates all processes and services surrounding a System Under Test, allowing you to isolate a System Under Test in a very efficient way, no matter how many surrounding systems or protocols the System Under Test needs to use. You create Actors (very small simulators) that use stacks for communication.

Prerequisites

Nodejs 14.x.x, 16.x.x or 18.x.x Git 2.26.0 or later

Install ActorJs

npm install @abstraktor/actorjs

Update ActorJs

npm update

For nodejs 14.x.x you probably need to run:

npm install @abstraktor/actorjs@latest

Build ActorJs Server

aj debug

If you make changes to files, but ActorJs has not been started, or if you pull updates from your local repos, you must build the server again using aj debug. Otherwise, just use aj to start ActorJs.

Linux & Mac: To use the command aj, an alias is needed for the actorjs.sh file in the installation folder. During installation, aliases are added to .bashrc (Linux and Mac) and .zshrc (Mac). If you use another shell, you have to add the alias yourself. The first time you install ActorJs, you need to restart the terminal or source the file containing the alias, for instance:

source ~/.bashrc

Start ActorJs Client

Open a browser with the url http://localhost:9005

Beta Testers

We are looking for beta testers! To apply, send an e-mail to: betatester@actorjs.com

Documentation

Youtube

Further reading in the ActorJs tool

The ActorJs documentation can be found in the tool. To access it, click the following links when the tool is running.

Example code

HTTP - server

*run() {
  this.httpConnection.send(new HttpMsgGetRequest(this.requistUri));
    
  const response = this.httpConnection.receive();
  VERIFY_VALUE(HttpApi.StatusCode.OK, response.statusCode, ' HTTP response line status code:');
  VERIFY_CONTENT_OPTIONAL('content-name', response.getHeaderNumber(HttpApi.Header.CONTENT_LENGTH), response.getBody());
}

Websocket - client

*run() {
  this.httpConnection.send(new HttpGetUpgradeRequest(this.requistUri, this.wsProtocol));
 
  const response = this.httpConnection.receive();
  this.websocketConnection = this.switchProtocol('websocket', this.httpConnection);
    
  this.websocketConnection.send(new WebsocketStackApi.TextFrame(this.wsText, this.wsMask));
    
  this.websocketConnection.send(new WebsocketStackApi.CloseFrame());
}

Puppeteer - client

*run() {
  const page = this.puppeteerConnection.page;
  yield page.click('.w-button');
}

Socket - server

*run() {
  this.socketConnection.accept();
  const request = this.socketConnection.receiveLine();
  VERIFY_VALUE('Hello World!', request)
}
0.0.0-aj-beta.8

1 year ago

0.0.0-aj-beta.7

1 year ago

0.0.0-aj-beta.6

1 year ago

0.0.0-aj-beta.5

1 year ago

0.0.0-aj-beta.4

2 years ago

0.0.0-aj-beta.3

2 years ago

0.0.0-aj-beta.2

2 years ago

0.0.0-aj-beta.1

2 years ago

0.0.0-aj-alpha.9

2 years ago

0.0.0-aj-alpha.8

2 years ago

0.0.2

2 years ago

0.0.1

2 years ago