nightwatch.js / Saucelabs - click () не работает [Произошла ошибка при запуске команды .click () на] - PullRequest
2 голосов
/ 10 июня 2019

Я пытался запустить тестовые примеры e2e для приложения React, используя Nightwatch.js + Saucelabs, но при выполнении метода .click () возникает ошибка ниже.

Ошибка: Произошла ошибка при запуске команды .click () для: {"status": - 1, "state": "", "value": "{\" value \ ": {\" stacktrace \ ": \" Backtrace: \ n \ tOrdinal0 [0x00E07DF3 + 1474035] \ n \ tOrdinal0 [0x00D807D1 + 919505] \ n \ tOrdinal0 [0x00D1CB43 + 510787] \ n \ tOrdinal0 [0x00CCDB60 + 187232] \ 0 \ 0O0 + 0 0 180 0 0 0 0 0 0 0 0 0 0,80 0,80 0 0 0 0 0 0 0 0 0,80 0,80 / 0c0 [0/0] 080 [00] 00 00 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 "005-" -080-080, 080 080 из 080 080 080 из 080 [080 0 0 0 0 0 0 0 080 080 0 0 0 0 0 0 18 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 зац за 0 0 0 0 0 0 0 00 00080 0 0 0 0 0 00080 0x00CA1BAB + 7083] \ n \ tOrdinal0 [0x00CA2126 + 8486] \ n \ tOrdinal0 [0x00CA2F00 + 12032] \ n \ tGetHandleVerifier [0x00F6231C + 1249612] \ n \ tGetHandleVerifier [0x00515] 0 [0] 0E0B0155/5E600E155 n \ tOrdinal0 [0x00E15D28 + 1531176] \ n \ tGetHandleVerifier [0x00EB1D4A + 527226] \ n \ tOrdinal0 [0x00D975F6 + 1013238] \ n \ tOrdinal0 [0x00D9746F + 1012847] \ 0A0 + 067 0 0 0 0 0 0 0 0 0 0 6 0 000 0… 067 +0 670 +5962] \ n \ tGetHandleVerifier [0x0120992C + 4032348] \ n \ tBaseThreadInitThunk [0x774438F4 + 36] \ n \ tRtlUnicodeStringToInteger [0x77B35E13 + 595] \ n \ tRtlUnicode \ 0 \ 0 \ \ "\ 0D0: \ "неверный аргумент: пропущены параметры команды \", \ "error \": \ "неверный аргумент \"}} "," errorStatus ": - 1," e rror ":" Произошла неизвестная ошибка. "," httpStatusCode ": 400}

Ниже находится объект страницы:

module.exports = {
  url: function () {
    return this.api.launchUrl
  },
  elements: {
    app: { selector: 'div[id="app"]' },
    login_usernameInput: { selector: 'input[id="user_id"]' },
    login_passwordInput: { selector: 'input[id="password"]' },
    login_submitButton: { selector: 'button[id="submit"]' }
  },
  commands: [
    {
      login () {
        return this
          .waitForElementPresent('span[id=welcomeToMyApp]')
          .setValue('@login_usernameInput', process.env.APP_USERNAME)
          .setValue('@login_passwordInput', process.env.APP_PASSWORD)
          .click('@login_submitButton')
          .waitForElementPresent('@app')
      }
    }
  ]
}

Тестовый код:

module.exports = {
  beforeEach: (browser, done) => {
    browser.page.loginPage()
      .navigate()
      .login()
    done()
  },

  'Test - DQM Page': function (browser) {
    const dqmPage = browser.page.dqmPage()

    dqmPage
      .navigate()
      .waitForElementVisible('body')
      .click('@nextCountryTab')
      .assert.visible('@nextCountry')
      .end()
  },

  afterEach: (browser, done) => {
    browser.custom().end()

    setTimeout(function () {
      done()
    }, 200)
  }
}

Все остальные шаги, до нажатия click () в методе login (), работают отлично. Даже функции setValue () выполняются довольно хорошо.

Обратите внимание, что кнопка «Отправить» в значительной степени видна и активна.

Ответы [ 2 ]

3 голосов
/ 11 июня 2019

Я исправил это, указав использовать предыдущую версию Chrome (которая сейчас составляет 74).

"desiredCapabilities": {
  ... clipped out my other capabilities for brevity ...
  "version": "latest-1"
}

Затем я изменил ее, чтобы конкретно сказать версию 74. Обе они работают, но я неМы не хотим, чтобы Chrome обновился до 76, а затем тесты снова начинаются безуспешно, если мы еще не завершили принятие того, что является настоящим исправлением.Это не работает для меня.Я получил это от их сообщения в блоге в https://wiki.saucelabs.com/pages/viewpage.action?pageId=88801611

"desiredCapabilities": {
  ... clipped other configs again ...
  "goog:chromeOptions": {"w3c": false}
}
1 голос
/ 10 июня 2019

Мне удалось исправить эту проблему, обновив до последней версии Nightwatch.Но обновление сломало другие вещи.Вот некоторая документация о том, что может сломаться после обновления.

https://github.com/nightwatchjs/nightwatch/wiki/Migrating-to-Nightwatch-1.0

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...