This repository has been archived by the owner. It is now read-only.
Core testing lib for botphus
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
docs
src
template
test
.gitignore
.npmignore
.travis.yml
LICENSE
README.md
package.json
tsconfig.json
tslint.json

README.md

botphus-core

botphusCorebotphus的核心测试程序,通过底层使用puppeteer提供web测试单元任务配置和执行.

build status codecov.io node version

功能特性

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

索引

快速使用

安装

npm install botphus-core --save

构建

npm run build

使用

import BotphusCore, {TaskMessage, TaskType, TaskTypeDomSubType} from 'botphus-core';
const botphusCore = new BotphusCore();
(async () => {
    // Create task cache file
    const taskNo = await botphusCore.createTask('Test task', new Date().getTime(), [
        {
            argments: ['div'],
            assertion: ['data === "wrong assertion rule"'],
            subType: TaskTypeDomSubType.SUB_TYPE_GET_TEXT,
            type: TaskType.TYPE_DOM
        }
    ]);
    // Start task & listen child process message
    const subProcess = await botphusCore.startTask(taskNo, 'https://bing.com/');
    // Get task exec message info
    subProcess.on('message', ([error, messageData]: TaskMessage) => {
        if (error) {
            global.console.log(error.stack);
        }
        global.console.log(messageData);
    });
    // Process close
    subProcess.on('close', (code) => {
        global.console.log('done:', code);
    });
})();