Могу ли я создать многоразовые этапы тестирования в nightwatch.js? Я хочу создать повторно используемые компоненты в моих тесте nightwatch.js. т. войти в веб-приложение, выйти из веб-приложения Каков наилучший метод/шаблон для создания этих шагов многоразовым способом? Ответ 1 Для этого вы можете создать собственные команды: http://nightwatchjs.org/guide#writing-custom-commands В nightwatch.json укажите путь к папке, которая будет содержать ваш пользовательский командный файл создайте файл js и назовите его, как ваша пользовательская команда должна быть именем (например, login.js) напишите код, который вам нужен: exports.command = function(username, password) { this .waitForElementVisible('#password', 4000) .setValue('#password', password) .waitForElementVisible('#username', 1000) .setValue('#username', username) .waitForElementVisible('#sign_in', 1000) .click('#sign_in') .waitForElementVisible('h1.folder-title', 10000) return this; }; Ответ 2 Обычно это делается с объектами страницы. http://nightwatchjs.org/guide#page-objects Тогда вы можете просто var myPage = client.page.myPage(); myPage.navigate() .assert.title('MyPage') .login('foo', 'bar) .assert.displayName('foo'); Ответ 3 Чтобы добавить к предыдущему ответу, вы также можете создавать пользовательские утверждения и репортеров в дополнение к командам. В "Руководство по Nightwatch" содержится дополнительная информация о настройке и расширении Nightwatch.
Ответ 1 Для этого вы можете создать собственные команды: http://nightwatchjs.org/guide#writing-custom-commands В nightwatch.json укажите путь к папке, которая будет содержать ваш пользовательский командный файл создайте файл js и назовите его, как ваша пользовательская команда должна быть именем (например, login.js) напишите код, который вам нужен: exports.command = function(username, password) { this .waitForElementVisible('#password', 4000) .setValue('#password', password) .waitForElementVisible('#username', 1000) .setValue('#username', username) .waitForElementVisible('#sign_in', 1000) .click('#sign_in') .waitForElementVisible('h1.folder-title', 10000) return this; };
Ответ 2 Обычно это делается с объектами страницы. http://nightwatchjs.org/guide#page-objects Тогда вы можете просто var myPage = client.page.myPage(); myPage.navigate() .assert.title('MyPage') .login('foo', 'bar) .assert.displayName('foo');
Ответ 3 Чтобы добавить к предыдущему ответу, вы также можете создавать пользовательские утверждения и репортеров в дополнение к командам. В "Руководство по Nightwatch" содержится дополнительная информация о настройке и расширении Nightwatch.