0.0.1 • Published 7 years ago
chrome-test v0.0.1
Chrome Tester
web page auto tester on chrome
Use
const Tester = require('chrome-tester');
const tester = new Tester();
await tester.init();
const job = {
url: 'https://ke.qq.com',
tests: [
{
des: 'succ test',
script: `return true`
},
{
des: 'fail test',
script: `throw 1`
}
]
}
const executor = await tester.exec(job);
executor.on('test-pass', (test, value) => {
console.log('test-pass');
assert.equal(test.des, 'succ test');
assert.equal(value, true);
});
executor.on('test-failed', (test, exceptionDetails) => {
console.log('test-failed');
assert.equal(test.des, 'fail test');
assert.equal(exceptionDetails.exception.value, 1);
});
await executor.wait();
await tester.destroy();
tester.init()
: await tester be readytester.exec(job)
: run a test job, this will return aexecutor
used to listen on some eventsawait executor.wait()
: await until this test job has donetester.destroy()
: destroy this tester, close chrome, release resource
tester.exec options
- url {string}: web page url
- referrer {string}: http request referrer header
- cookies {Object}: http request cookies
- headers {Object}: http request headers
- injectScript {string}: inject script to exec after domContentEventFired
tests {Array}: unit tests will run after injectScript has been inject, tests will be run one by one in order element in tests should be:
{ script {string}: unit test script content, ... other props }
executor events table
- log: chrome console out
- test-pass: unit test exec complete
- test-failed: unit test exec complete
- done: exec complete
- load-failed: page cant load
- network-failed: Network.loadingFailed event
- network-received: Network.loadingFailed event
see unit test for more use case.
0.0.1
7 years ago