nightchai
v0.0.5
Published
A try catch plugin for nightmare
Downloads
1
Readme
NightChai
Description
- 1.) It is base on End to End test tool "nightmare"
- 2.) A try catch plugin to help you write custom try catch funcion or you can use default screenshot function
- 3.) easy to read
- 4.) less code
- 5.) We use Ramda to build it
Installation
$ npm install nightchai
usage
runPipe()
- It is to combine your test case(it)
| function | result |
| R.uncurryN(2, | R.pipe( |
| R.pipe( | R.tap(login.gotoLogin), |
| R.map(R.tap), | R.tap(login.typeId), |
| R.apply(R.pipe) | R.tap(login.clickPassword)|
| )); | ); |
const { runPipe } = require('nightchai');
const SC001 = runPipe([
login.gotoLogin(url, port),
login.typeId('admin'),
login.clickPassword,
]);
SC001(nightmare);
runTask(taskOptions)
- It is to return it which can help you write less code of it. And each one is represented a test case(it)
- options -> nightmare -> it
| options | args | | ----------------------- | -------------------------------------- | | name | it(name) | | action | nightmare.wait or nightmare.click | | catch | default nightmare.screenshot | | catchThen | self invoking function |
const { runTask } = require('nightchai');
exports.typeId = (username) => runTask({
name:'輸入帳號',
action: (nightmare) => nightmare.type('input#idInput', username),
catch:(done, e, nightmare) => {
//over write the default catch
nightmare
.html(`${path}${taskOptions.name}.mhtml`, 'MHTML')
.screenshot(`${path}${taskOptions.name}.png`)
.then(() => taskOptions.catchThen ?
Promise.reject(new CatchThenError(e)) :
done(e)
)
done();
},
catchThen: (done, e, nightmare) => {
nightmare
.html('./reports/error.mhtml', 'MHTML')
.screenshot('./reports/error.png');
done(e);
}
});
setSnapshotPath(path)
- It is to set your snapshot path
| path | | ----------------| | string |
const { setSnapshotPath } = require('nightchai');
setSnapshotPath('./reports/');
License
MIT