@botphus/server-runner
TypeScript icon, indicating that this package has built-in type declarations

0.1.2 • Public • Published

@botphus/server-runner

@botphus/server-runnerbotphus的服务器核心测试程序,通过底层使用puppeteer提供web测试单元任务配置和执行.

build status codecov.io node version

功能特性

  • 使用任务单元组成的测试任务,可以按需执行特定部分.如:
    • 执行Web页面测试
    • 连接数据库/Redis缓存进行数据验证
    • Web页面事件捕获
  • 服务端和PC客户端均可使用
  • 独立的任务环境上下文
  • 进程池应用

索引

快速使用

安装

npm install @botphus/server-runner --save

使用

import {TaskType, TaskTypeDomSubType} from '@botphus/rule';
import BotphusServerRunner, {destoryPool, TaskMessage} from '@botphus/server-runner';

const runner = new BotphusServerRunner();
(async () => {
    // Create task cache file
    const taskNo = await runner.createTask('Test task', new Date().getTime(), [
        {
            arguments: ['div'],
            assertion: ['data === "wrong assertion rule"'],
            subType: TaskTypeDomSubType.SUB_TYPE_GET_TEXT,
            type: TaskType.TYPE_DOM
        }
    ]);
    // Start task & listen child process message
    const myTaskEvent = await runner.startTask(taskNo, 'https://bing.com/');
    await new Promise((resolve, reject) => {
        // Get task exec message info
        myTaskEvent.on('message', ([error, messageData]: TaskMessage) => {
            if (error) {
                global.console.log(error.stack);
            }
            global.console.log(messageData);
        });
        // Event close
        myTaskEvent.on('exit', (code) => {
            global.console.log('done:', code);
            if (code === 1) {
                return reject(new Error('Event exit error'));
            }
            resolve();
        });
    });
})() // Current botphus is using process pool to manage task, if you want to stop main process, please destory cluster pool
    .then(() => {
        destoryPool();
    })
    .catch((err) => {
        global.console.log(err);
        destoryPool();
    });

Versions

Current Tags

  • Version
    Downloads (Last 7 Days)
    • Tag
  • 0.1.2
    0
    • latest

Version History

  • Version
    Downloads (Last 7 Days)
    • Published
  • 0.1.2
    0
  • 0.1.1
    0
  • 0.1.0
    0

Package Sidebar

Install

npm i @botphus/server-runner

Weekly Downloads

0

Version

0.1.2

License

MIT

Unpacked Size

6.96 MB

Total Files

107

Last publish

Collaborators

  • cqggff