Получение Webdriver.IO: «npm ERR! Тест не пройден. Подробнее см. Выше». но не вижу ошибок - PullRequest
0 голосов
/ 06 января 2019

Я создал простой тест, который проверяет, что число появлений панировочных сухарей на конкретном сайте равно 2:

Сайт: https://theculturetrip.com/europe/united-kingdom/england/london/before-you-go/

2 крошки (в синем круге): breadcrumbs_screenshot

Мой тест: ('[itemprop = "item"]' - селектор CSS кнопки "хлебные крошки")

it.only('Upper display shows the breadcrumbs', function () {
    let breadcrumbsAppearancesNumber = $$('[itemprop="item"]').length;
    expect(breadcrumbsAppearancesNumber).to.equal(2);
});

А для 2 это хорошо работает.

Однако, только для целей тестирования, когда я вставляю 3:

it.only('Upper display shows the breadcrumbs', function () {
    let breadcrumbsAppearancesNumber = $$('[itemprop="item"]').length;
    expect(breadcrumbsAppearancesNumber).to.equal(3);
});

Очевидно, что это не сработало, с выводом: «npm ERR! Тест не пройден. Подробнее см. Выше».

Однако, когда я прокручиваю выше, я не вижу никаких сообщений об ошибках, которые могут дать мне дополнительную информацию о том, почему это не удается ...

Показывает:

Stdout:

2019-01-06T11:35:15.971Z INFO wdio-cli:Launcher: Run onPrepare hook

2019-01-06T11:35:19.200Z INFO wdio-local-runner: Start worker 0-0 with arg: --spec=tests/InnerArticleTest.js

[0-0] 2019-01-06T11:35:19.579Z INFO wdio-local-runner: Run worker command: run

[0-0] 2019-01-06T11:35:19.749Z INFO webdriver: [POST] http://127.0.0.1:4444/wd/hub/session

[0-0] 2019-01-06T11:35:19.749Z INFO webdriver: DATA { capabilities:

   { alwaysMatch: { browserName: 'chrome' }, firstMatch: [ {} ] },

  desiredCapabilities: { browserName: 'chrome' } }

[0-0] 2019-01-06T11:35:22.427Z INFO webdriver: COMMAND navigateTo("https://theculturetrip.com/europe/united-kingdom/england/london/before-you-go/")

[0-0] 2019-01-06T11:35:22.428Z INFO webdriver: [POST] http://127.0.0.1:4444/wd/hub/session/d7e2b630ea4d1841e919ec800890b592/url

[0-0] 2019-01-06T11:35:22.428Z INFO webdriver: DATA { url:

   'https://theculturetrip.com/europe/united-kingdom/england/london/before-you-go/' }

[0-0] 2019-01-06T11:35:28.394Z INFO webdriver: COMMAND findElement("css selector", "[class*="LayoutWrapper"]")

[0-0] 2019-01-06T11:35:28.394Z INFO webdriver: [POST] http://127.0.0.1:4444/wd/hub/session/d7e2b630ea4d1841e919ec800890b592/element

[0-0] 2019-01-06T11:35:28.394Z INFO webdriver: DATA { using: 'css selector', value: '[class*="LayoutWrapper"]' }

[0-0] 2019-01-06T11:35:28.417Z INFO webdriver: RESULT { ELEMENT: '0.5487788910074598-1' }

[0-0] 2019-01-06T11:35:28.439Z INFO webdriver: COMMAND isElementDisplayed("0.5487788910074598-1")

[0-0] 2019-01-06T11:35:28.439Z INFO webdriver: [GET] http://127.0.0.1:4444/wd/hub/session/d7e2b630ea4d1841e919ec800890b592/element/0.5487788910074598-1/displayed

[0-0] 2019-01-06T11:35:28.455Z INFO webdriver: RESULT true

[0-0] 2019-01-06T11:35:28.456Z INFO webdriver: COMMAND findElement("css selector", "[class*="_Icon-"]")

[0-0] 2019-01-06T11:35:28.456Z INFO webdriver: [POST] http://127.0.0.1:4444/wd/hub/session/d7e2b630ea4d1841e919ec800890b592/element

[0-0] 2019-01-06T11:35:28.456Z INFO webdriver: DATA { using: 'css selector', value: '[class*="_Icon-"]' }

[0-0] 2019-01-06T11:35:28.471Z INFO webdriver: RESULT { ELEMENT: '0.5487788910074598-2' }

[0-0] 2019-01-06T11:35:28.473Z INFO webdriver: COMMAND elementClick("0.5487788910074598-2")

[0-0] 2019-01-06T11:35:28.473Z INFO webdriver: COMMAND elementClick("0.5487788910074598-2")

[0-0] 2019-01-06T11:35:28.473Z INFO webdriver: [POST] http://127.0.0.1:4444/wd/hub/session/d7e2b630ea4d1841e919ec800890b592/element/0.5487788910074598-2/click

[0-0] 2019-01-06T11:35:28.528Z INFO webdriver: COMMAND findElements("css selector", "[itemprop="item"]")

[0-0] 2019-01-06T11:35:28.528Z INFO webdriver: [POST] http://127.0.0.1:4444/wd/hub/session/d7e2b630ea4d1841e919ec800890b592/elements

[0-0] 2019-01-06T11:35:28.528Z INFO webdriver: DATA { using: 'css selector', value: '[itemprop="item"]' }

[0-0] 2019-01-06T11:35:28.543Z INFO webdriver: RESULT [ { ELEMENT: '0.5487788910074598-3' },

  { ELEMENT: '0.5487788910074598-4' } ]

[0-0] 2019-01-06T11:35:28.556Z INFO webdriver: COMMAND deleteSession()

[0-0] 2019-01-06T11:35:28.556Z INFO webdriver: [DELETE] http://127.0.0.1:4444/wd/hub/session/d7e2b630ea4d1841e919ec800890b592

2019-01-06T11:35:28.788Z DEBUG wdio-local-runner: Runner 0-0 finished with exit code 1



Test Suites:     0 passed, 1 failed, 1 total (100% completed)

Time:            ?  13.05s



npm ERR! Test failed.  See above for more details.

У вас есть идея, почему?

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

1 Ответ

0 голосов
/ 06 января 2019

LE: Это связано с проблемой ( BUG # 2639 ), которая будет исправлена ​​в WebdriverIO версии 5 (webdriverio@5.x.x) где-то в ближайшем будущем. Это поведение влияет на все настройки sync: true WDIO.

В заключение, вот мнение руководителя проекта по этому вопросу:

Просто к вашему сведению: это будет исправлено в v5, где основная монада структура более упрощена и будет фактически работать.

Если кто-то заинтересован в решении этой проблемы, не стесняйтесь предложить PR на ветке v4. Скорее всего, это исправлено в v5.


Я думаю, что это в значительной степени индивидуально для вашей настройки, если только вы не добавите несколько модных репортеров для дополнительной детализации и демонстрации изображения. Просто зайдите в раздел Репортеры из Официального руководства .

Альтернативы:

a.) Вы можете улучшить детализацию на уровне утверждений, используя необязательный параметр msg следующим образом:

expect(breadcrumbsAppearancesNumber, `Found: ${breadcrumbsAppearancesNumber} breadcrumbs | Expected: 3 breadcrumbs`).to.equal(3);

b.) Или увеличьте детализацию журнала (logLevel: verbose) в файле wdio.conf.js:

exports.config = {
  // ...
  //
  // Level of logging verbosity: silent | verbose | command | data | result | error
  logLevel: 'verbose',
  //
  // ... 
};
...