|
@@ -0,0 +1,289 @@
|
|
|
+exports.config = {
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+ specs: [
|
|
|
+ './test/specs/**/*.js'
|
|
|
+ ],
|
|
|
+
|
|
|
+ exclude: [
|
|
|
+
|
|
|
+ ],
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+ maxInstances: 10,
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+ capabilities: [{
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+ maxInstances: 5,
|
|
|
+
|
|
|
+ browserName: 'chrome',
|
|
|
+ acceptInsecureCerts: true
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+ }],
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+ logLevel: 'info',
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+ bail: 0,
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+ baseUrl: 'https://www.the-internet.herokuapp.com',
|
|
|
+
|
|
|
+
|
|
|
+ waitforTimeout: 10000,
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+ connectionRetryTimeout: 120000,
|
|
|
+
|
|
|
+
|
|
|
+ connectionRetryCount: 3,
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+ services: [
|
|
|
+ ['selenium-standalone', { drivers: { firefox: '0.29.1', chrome: true, chromiumedge: 'latest' } }]
|
|
|
+ ],
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+ framework: 'mocha',
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+ reporters: ['spec',['allure', {outputDir: 'allure-results'}]],
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+ mochaOpts: {
|
|
|
+ ui: 'bdd',
|
|
|
+ timeout: 60000
|
|
|
+ },
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+ * Gets executed once before all workers get launched.
|
|
|
+ * @param {Object} config wdio configuration object
|
|
|
+ * @param {Array.<Object>} capabilities list of capabilities details
|
|
|
+ */
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+ * Gets executed before a worker process is spawned and can be used to initialise specific service
|
|
|
+ * for that worker as well as modify runtime environments in an async fashion.
|
|
|
+ * @param {String} cid capability id (e.g 0-0)
|
|
|
+ * @param {[type]} caps object containing capabilities for session that will be spawn in the worker
|
|
|
+ * @param {[type]} specs specs to be run in the worker process
|
|
|
+ * @param {[type]} args object that will be merged with the main configuration once worker is initialised
|
|
|
+ * @param {[type]} execArgv list of string arguments passed to the worker process
|
|
|
+ */
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+ * Gets executed just before initialising the webdriver session and test framework. It allows you
|
|
|
+ * to manipulate configurations depending on the capability or spec.
|
|
|
+ * @param {Object} config wdio configuration object
|
|
|
+ * @param {Array.<Object>} capabilities list of capabilities details
|
|
|
+ * @param {Array.<String>} specs List of spec file paths that are to be run
|
|
|
+ * @param {String} cid worker id (e.g. 0-0)
|
|
|
+ */
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+ * Gets executed before test execution begins. At this point you can access to all global
|
|
|
+ * variables like `browser`. It is the perfect place to define custom commands.
|
|
|
+ * @param {Array.<Object>} capabilities list of capabilities details
|
|
|
+ * @param {Array.<String>} specs List of spec file paths that are to be run
|
|
|
+ * @param {Object} browser instance of created browser/device session
|
|
|
+ */
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+ * Runs before a WebdriverIO command gets executed.
|
|
|
+ * @param {String} commandName hook command name
|
|
|
+ * @param {Array} args arguments that command would receive
|
|
|
+ */
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+ * Hook that gets executed before the suite starts
|
|
|
+ * @param {Object} suite suite details
|
|
|
+ */
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+ * Function to be executed before a test (in Mocha/Jasmine) starts.
|
|
|
+ */
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+ * Hook that gets executed _before_ a hook within the suite starts (e.g. runs before calling
|
|
|
+ * beforeEach in Mocha)
|
|
|
+ */
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+ * Hook that gets executed _after_ a hook within the suite starts (e.g. runs after calling
|
|
|
+ * afterEach in Mocha)
|
|
|
+ */
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+ * Function to be executed after a test (in Mocha/Jasmine only)
|
|
|
+ * @param {Object} test test object
|
|
|
+ * @param {Object} context scope object the test was executed with
|
|
|
+ * @param {Error} result.error error object in case the test fails, otherwise `undefined`
|
|
|
+ * @param {Any} result.result return object of test function
|
|
|
+ * @param {Number} result.duration duration of test
|
|
|
+ * @param {Boolean} result.passed true if test has passed, otherwise false
|
|
|
+ * @param {Object} result.retries informations to spec related retries, e.g. `{ attempts: 0, limit: 0 }`
|
|
|
+ */
|
|
|
+ afterTest: async function(test, context, { error, result, duration, passed, retries }) {
|
|
|
+ if (!passed) {
|
|
|
+ await browser.takeScreenshot();
|
|
|
+ }
|
|
|
+ },
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+ * Hook that gets executed after the suite has ended
|
|
|
+ * @param {Object} suite suite details
|
|
|
+ */
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+ * Runs after a WebdriverIO command gets executed
|
|
|
+ * @param {String} commandName hook command name
|
|
|
+ * @param {Array} args arguments that command would receive
|
|
|
+ * @param {Number} result 0 - command success, 1 - command error
|
|
|
+ * @param {Object} error error object if any
|
|
|
+ */
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+ * Gets executed after all tests are done. You still have access to all global variables from
|
|
|
+ * the test.
|
|
|
+ * @param {Number} result 0 - test pass, 1 - test fail
|
|
|
+ * @param {Array.<Object>} capabilities list of capabilities details
|
|
|
+ * @param {Array.<String>} specs List of spec file paths that ran
|
|
|
+ */
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+ * Gets executed right after terminating the webdriver session.
|
|
|
+ * @param {Object} config wdio configuration object
|
|
|
+ * @param {Array.<Object>} capabilities list of capabilities details
|
|
|
+ * @param {Array.<String>} specs List of spec file paths that ran
|
|
|
+ */
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+ * Gets executed after all workers got shut down and the process is about to exit. An error
|
|
|
+ * thrown in the onComplete hook will result in the test run failing.
|
|
|
+ * @param {Object} exitCode 0 - success, 1 - fail
|
|
|
+ * @param {Object} config wdio configuration object
|
|
|
+ * @param {Array.<Object>} capabilities list of capabilities details
|
|
|
+ * @param {<Object>} results object containing test results
|
|
|
+ */
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+ * Gets executed when a refresh happens.
|
|
|
+ * @param {String} oldSessionId session ID of the old session
|
|
|
+ * @param {String} newSessionId session ID of the new session
|
|
|
+ */
|
|
|
+
|
|
|
+
|
|
|
+}
|