Gemini events
Events are listed in order they are emitted.
Event | Description |
---|---|
CLI |
Emitted right at start, before cli is parsed. Allows to add new commands and extend help message.
Event is emitted with 1 argument parser which is the
commander
instance used inside gemini itself.
|
INIT |
Emitted before any job start (test , update or readTests ).
If handler returns a promise, then job will start only after the promise is resolved.
Emitted only once no matter how many times job is performed.
|
BEFORE_FILE_READ |
Emitted before each test file is read. Event is emitted with 1 argument filePath ,
which is the absolute path to the file to be read.
|
AFTER_FILE_READ |
Emitted after each test file has been read. Event is emitted with 1 argument filePath
which is the absolute path to the file that was read.
|
AFTER_TESTS_READ |
Emitted after all tests were read (during test , update or readTests call).
Event is emitted with 1 argument data :
{ suiteCollection // suite collection with all suites parsed from test files } |
START_RUNNER |
Emitted before the start of test or update command.
If you return a promise from the event handler, the start of the command will be delayed until the promise resolves.
|
BEGIN |
Runner event. Emitted on runner start with 1 argument data :
{ suiteCollection, // suite collection which will be run config, // gemini config totalStates, // number of states in collection browserIds // all browser ids from config } |
BEGIN_SUITE |
Emitted before decide if should test suite in specified browser. Event is emitted with 1 argument data :
{ suite, browserId } |
SKIP_STATE |
Emitted if browser is skipped in this state. Event is emitted with 1 argument data :
{ suite, state, browserId } |
START_BROWSER |
Emitted on browser session start. Emitted with browser instance. If handler returns a promise, tests will be executed in this session only after the promise is resolved. |
BEGIN_STATE |
Emitted before launching browser for test. Event is emitted with 1 argument data :
{ suite, state, browserId, sessionId } |
UPDATE_RESULT |
Emitted always during update. Event is emitted with 1 argument result :
{ refImg, // reference image info which includes absolute path and size (width, height) updated, // shows if reference image has been changed suite, state, browserId, sessionId } |
RETRY |
Emitted if test has failed but there is still number of retries left.
Event is emitted with 1 argument result :
{ refImg, // reference image info which includes absolute path and size (width, height) currImg, // current image info which includes absolute path and size (width, height) equal, // always false for retries tolerance, // specified for current test or globally in .gemini.js saveDiffTo, /* function responsible for building diff and present in the result only if images aren't equal */ attempt, // number of retry for browser in current test retriesLeft, /* number of left retries > 0, when number hits 0 event TEST_RESULT is called instead */ suite, state, browserId, sessionId } |
TEST_RESULT |
Emitted always after the test is completed. Event is emitted with 1 argument result :
{ refImg, // reference image info which includes absolute path and size (width, height) currImg, // current image info which includes absolute path and size (width, height) equal, // shows if images are equal tolerance, // specified for current test or globally in .gemini.js saveDiffTo, /* function responsible for building diff and present in the result only if images aren't equal */ suite, state, browserId, sessionId } |
END_STATE |
Emitted right after UPDATE_RESULT and TEST_RESULT with 1 argument data :
{ suite, state, browserId, sessionId } |
STOP_BROWSER |
Emitted right before browser session end. Emitted with browser instance. If handler returns a promise, quit will be performed only after the promise is resolved. |
END_SUITE |
Emitted right after suite is skipped or tested in specified browser. Emitted with 1 argument data :
{ suite, // tested suite browserId, // skipped or tested browser } |
ERROR |
Emitted with 1 argument err , which is an instance of Error
and has additional fields depending on the cause of error.
For example, if Reference image is missing, err will have additional fields:
{ refImg, currImg, suite, state, browserId, sessionId } |
INTERRUPT |
Emitted on signal events SIGHUP , SIGINT or SIGTERM .
The event is emitted with 1 argument data – {exitCode} , wich is
|
END |
Emitted when all tests are completed with 1 argument stat , which contains statistics for tests.
For example:
{ total: 6, updated: 0, passed: 2, failed: 1, skipped: 3, retries: 8 } |
END_RUNNER |
Emitted after the end of the test or update command.
|