| 123456789101112131415161718192021222324252627282930313233343536373839404142 |
- /* global performActionBegin performActionEnd */
- // in this file you can append custom step methods to 'I' object
- module.exports = () =>
- actor({
- // Define custom steps here, use 'this' to access default methods of I.
- // It is recommended to place a general 'login' function here.
- _performActionBegin(name) {
- return performActionBegin(name);
- },
- _performActionEnd(name) {
- return performActionEnd(name);
- },
- /**
- * Group steps to one action for statistics
- * @param {string} name - Name of action
- * @param {function} actions - What to do
- */
- async performAction(name, action) {
- this.say(name);
- this._performActionBegin(name);
- await action();
- this._performActionEnd(name);
- },
- waitTicks(n) {
- return this.executeScript((ticks) => {
- return new Promise((resolve) => {
- let count = 0;
- const tick = () => {
- count++;
- if (count >= ticks) {
- resolve();
- } else {
- requestAnimationFrame(tick);
- }
- };
- requestAnimationFrame(tick);
- });
- }, n);
- },
- });
|