Функция щелчка в Spectron не щелкает - PullRequest
0 голосов
/ 16 октября 2019

Я работаю над приложением на основе электронов (-nuxt). Сквозной тест переписан с AVA + Spectron. Однако функция .click(), похоже, не работает.

Я использовал этот шаблон: https://github.com/michalzaq12/electron-nuxt

Кажется, все работает, кроме простого нажатия кнопки.

<footer class="modal-card-foot">
  <button id="loginButton" class="button " type="button" @click="login">
    Login
  </button>
</footer>
test('app should login', async t => {
    let app = t.context.app
    await app.client.click('#loginButton')
})

Полученное сообщение:

1 тест не пройден

приложение должно войти в систему

Ошибка: тест завершен беззапуск любых утверждений

Это правда, потому что нет никаких утверждений. НО я вижу, что кнопка никогда не нажимается, потому что это вызвало бы сообщение «Ошибка входа» из приложения.

1 Ответ

0 голосов
/ 24 октября 2019

В вашем тестовом примере вы должны дождаться отображения элемента на странице.

test('app should login', async t => {
    const ELEMENT_SELECTOR = '#loginButton'
    let app = t.context.app
     try {
      await app.client.nuxt.ready()
      await app.client.nuxt.navigate('/') //optional
      await app.client.waitForExist(ELEMENT_SELECTOR)
      await app.client.click(ELEMENT_SELECTOR)
      t.pass() //or other assertion
    } catch (e) {
      t.fail(e.message)
    }
})
...