Подтвердить что ты не робот

Могу ли я создать многоразовые этапы тестирования в nightwatch.js?

Я хочу создать повторно используемые компоненты в моих тесте nightwatch.js.

т. войти в веб-приложение, выйти из веб-приложения

Каков наилучший метод/шаблон для создания этих шагов многоразовым способом?

4b9b3361

Ответ 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.