Вызов пользовательской команды в nightwatch.js - PullRequest
0 голосов
/ 05 марта 2019

Хорошо, я хотел бы вызвать пользовательскую команду в другой пользовательской команде в nightwatch.js (чтобы сделать тесты менее хрупкими). ​​

Так, например, вмоя первая настраиваемая команда ( message1.js ) Я мог иметь следующий код:

exports.command = function(browser) {
  this
    browser
      console.log('display this first')
  return this;

, а затем и мою вторую настраиваемую команду ( message2.js ),Я хочу сначала вызвать команду message1.js , а затем выполнить остальную часть кода.

Например;

exports.command = function(browser) {
 this
   browser
     //call the message1.js command
       console.log('display the second message')
 return this;

Я пытался вызвать еес методом;

exports.command = function(browser) {
  this
    browser
      .message1();
        console.log('display the second message')
  return this;

, но это не сработало.

Так что мой вопрос (ы):

Можно ли вызвать одну пользовательскую команду в другойПользовательская команда А если нет, есть ли другой способ сделать это?

Большое спасибо

1 Ответ

0 голосов
/ 11 марта 2019

Да, вы можете связать свои пользовательские команды вместе или с помощью других методов ночных часов:

Пользовательский метод openUrl.js:

exports.command = function(url) {
    const browser = this;    
    browser.url(url);
    return this;

}

Пользовательский метод openStackOverflow.js, который вызывает openUrl.js:

exports.command = function(url) {
    const browser = this;
    browser.openUrl(url).waitForElementVisible('#submit-button');
    return this;
    }

Использование их в тестах:

'Open Stack Overflow': browser => {
    browser.openStackOverflow(`https://stackoverflow.com`);
 },
...