chrome-tester
Web page auto tester with headless chrome
Use
const Tester = ;const tester = ;await tester;const job = url: 'https://ke.qq.com' tests: des: 'succ test' script: `return true` des: 'fail test' script: `throw 1` const executor = await tester;executor;executor;await executor;const dom = await executor;await tester;
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 all unit tests job has doneawait executor.getDOM()
: get page current dom nodetester.destroy()
: destroy this tester, close chrome, release resource
tester.exec options
- url {string}: required, 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
- error: window.onerror | unhandledrejection
- test-pass: unit test exec complete
- test-failed: unit test exec complete
- done: exec complete
- pageload-failed: page cant load
- network-failed: Network.loadingFailed event
- network-received: Network.loadingFailed event
see unit test for more use case.