Как установить retryAssertionTimeout в зависимости от среды в Nightwatch - PullRequest
0 голосов
/ 10 июля 2020

Я пытаюсь установить retryAssertionTimeout в зависимости от среды. У меня есть переменная узла (NODE_ENV), для которой будет установлено значение QA или Prod, и в зависимости от значения этой переменной я хочу установить соответствующее значение для retryAssertionTimeout. Вот мои глобальные переменные. js файл ...

module.exports = {
    //retryAssertionTimeout: 30000,

    before: function (done) {
        console.log("test env: " + process.env.NODE_ENV)
        if (process.env.NODE_ENV == 'qa') {
            console.log("Running in the QA environment")
            retryAssertionTimeout: 30000
        }
        done()
    }
}

К сожалению, это не работает.

Ответы [ 2 ]

0 голосов
/ 15 июля 2020

Я поместил предложенный код в свой файл globals. js (я указал 10000 для значения тайм-аута qa). Затем я создал и провел такой простой тест ... module.exports = {'Simple Test': function (browser) {console.log ("*** retryAssertionTimeout:" + browser.globals.retryAssertionTimeout) browser.waitForElementVisible ( '.someFakeSelector')}} Результатом будет .... C: \ git \ portal-ui-tests> node nightwatch tests / simpleTest. js Environment Selected: qa

[Simple Test] Test Suite

i Подключен к localhost через порт 4444 (10061 мс). Использование: firefox (77.0.1) на платформе windows 10.0.

Запуск: простой тест

*** retryAssertionTimeout: 10000 × Истекло время ожидания элемента <.someFakeSelector> присутствовать 5000 миллисекунд. - ожидалось «видимое», но получено: «не найдено» (5085 мс) Таким образом, похоже, что retryAssertionTimeout установлен, но не используется, когда я вызываю waitForElementVisible.

0 голосов
/ 13 июля 2020

Я бы сделал как показано ниже.

module.exports = {
    retryAssertionTimeout: process.env.NODE_ENV === 'qa' ? '4000' : '5000',
    before: function (done) {
        console.log("Environment Selected: " + process.env.NODE_ENV)
        done()
    }
}
...