gremlins: update
This commit is contained in:
parent
1e510e9e0a
commit
072cbe5817
96
gremlins.md
96
gremlins.md
|
@ -1,33 +1,89 @@
|
|||
---
|
||||
title: Gremlins.js
|
||||
category: JavaScript libraries
|
||||
layout: 2017/sheet
|
||||
updated: 2017-10-11
|
||||
weight: -1
|
||||
intro: |
|
||||
[Gremlins](https://github.com/marmelab/gremlins.js) is a JavaScript library to do "monkey-testing" by providing random user input (clicks, scrolls, and so on).
|
||||
---
|
||||
|
||||
### Example
|
||||
## Example
|
||||
|
||||
gremlins.createHorde()
|
||||
.before(function(done) {
|
||||
var horde = this;
|
||||
setTimeout(function(){
|
||||
horde.log('async');
|
||||
done();
|
||||
}, 500);
|
||||
})
|
||||
.before(function() {
|
||||
this.log('sync');
|
||||
### Simple example
|
||||
|
||||
```html
|
||||
<script src='https://cdn.jsdelivr.net/npm/gremlins/dist/gremlins.js'></script>
|
||||
<script>
|
||||
gremlins.createHorde().unleash()
|
||||
</script>
|
||||
```
|
||||
|
||||

|
||||
|
||||
### Custom gremlins
|
||||
|
||||
```js
|
||||
gremlins.createHorde()
|
||||
.allGremlins()
|
||||
.gremlin(function () {
|
||||
document.activeElement.blur()
|
||||
})
|
||||
```
|
||||
{: data-line="3,4,5"}
|
||||
|
||||
Runs the given function at regular intervals.
|
||||
|
||||
### Full example
|
||||
|
||||
```js
|
||||
gremlins.createHorde()
|
||||
.gremlin(gremlins.species.formFiller())
|
||||
.gremlin(gremlins.species.clicker().clickTypes(['click']))
|
||||
.gremlin(gremlins.species.clicker()
|
||||
.clickTypes(['click'])
|
||||
.canClick(element => { ··· })
|
||||
.showAction((x, y) => { ··· }))
|
||||
.gremlin(gremlins.species.scroller())
|
||||
.gremlin(function() {
|
||||
alert('here');
|
||||
})
|
||||
.after(function() {
|
||||
this.log('finished!');
|
||||
})
|
||||
.mogwai(gremlins.mogwais.alert())
|
||||
.mogwai(gremlins.mogwais.fps())
|
||||
.mogwai(gremlins.mogwais.gizmo().maxErrors(2))
|
||||
.unleash();
|
||||
.unleash()
|
||||
```
|
||||
|
||||
https://github.com/marmelab/gremlins.js
|
||||
By default, all gremlins and mogwais species are added to the horde. Do it this way to customize gremlins.
|
||||
|
||||
See: [Specifying gremlins](https://github.com/marmelab/gremlins.js#setting-gremlins-and-mogwais-to-use-in-a-test)
|
||||
|
||||
## Hooks
|
||||
|
||||
### Before and after
|
||||
|
||||
```js
|
||||
gremlins.createHorde()
|
||||
.before(function () {
|
||||
this.log('sync')
|
||||
console.profile('gremlins')
|
||||
})
|
||||
.after(function () {
|
||||
this.log('done')
|
||||
console.profileEnd()
|
||||
})
|
||||
```
|
||||
{: data-line="2,6"}
|
||||
|
||||
### Asyncronous
|
||||
|
||||
```js
|
||||
gremlins.createHorde()
|
||||
.before(function (done) {
|
||||
setTimeout(() => {
|
||||
this.log('async')
|
||||
done()
|
||||
}, 500)
|
||||
})
|
||||
```
|
||||
{: data-line="2"}
|
||||
|
||||
## References
|
||||
|
||||
- [marmelab/gremlins.js](https://github.com/marmelab/gremlins.js)
|
||||
|
|
Loading…
Reference in New Issue