Nuanced Pumpkin Mavens

    @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();
        });

    Install

    npm i @botphus/server-runner

    DownloadsWeekly Downloads

    6

    Version

    0.1.2

    License

    MIT

    Unpacked Size

    6.96 MB

    Total Files

    107

    Last publish

    Collaborators

    • cqggff