Интеграция TestCafe с огурцом - тестовые случаи во время проекта github - PullRequest
0 голосов
/ 27 января 2019

Я экспериментировал со средами javascript для автоматизации тестирования, и одна из них - testCafe.Мне удалось настроить простой проект TestCafe и запустить несколько тестов для моего приложения.Однако теперь требуется встроенная поддержка BDD.Я посмотрел несколько проектов интеграции testCafe-cucumber на GitHub, но не могу заставить их работать.Вот некоторые из них, которые я попробовал: -

1) https://github.com/rquellh/testcafe-cucumber - я клонировал репозиторий, - установил npm, - запустил тестовые примеры, используя «тест npm», - пустой браузер запускается, нотест не запускаетсяЯ вижу эту ошибку в консоли кода VS:

× Before # features\support\hooks.js:46
           Error: function timed out, ensure the promise resolves within 20000 milliseconds
               at Timeout._onTimeout (C:\Users\Mo\Desktop\TestCafe\github\testCafeBDD\testcafe-cucumber\node_modules\cucumber\src\user_code_runner.js:61:18)
               at ontimeout (timers.js:482:11)
               at tryOnTimeout (timers.js:317:5)
               at Timer.listOnTimeout (timers.js:277:5)



× After # features\support\hooks.js:60
       ReferenceError: testController is not defined

Затем я попробовал другой проект gitHub, а именно этот: https://github.com/kiwigrid/gherkin-testcafe

команда run в readme у меня не работает, онадаже не узнает "корнишон-тесткафе".

Когда я запускаю свои тестовые наборы TestCafe без огурца, у меня есть эта строка в моем пакете. Json

"scripts": {
    "test": "testcafe chrome Tests/ -e --proxy https.proxy.mycompany.com:8000"
  },

прокси упоминается, потому что я за прокси и без этого браузер запускаетсяно не запускает никаких тестовых случаев.Я нашел это исправление на сайте testCafe

Я предполагаю (пока не уверен), что это может быть проблемой и с интеграцией огурца.Ни одна из этих платформ не работает, поскольку они нигде не настраивают прокси.Может ли кто-нибудь указать мне правильное направление?если необходимо настроить прокси-сервер, то в каком месте фреймворка он нужен - пример будет полезен?

1 Ответ

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

Интеграции TestCafe / Cucumber основаны на запуске RunC TestCafe программно.

В репо найдите эту последовательность:

const runner = tc.createRunner();
            return runner
                .src('./test.js')
                .screenshots('reports/screenshots/', true)
                .browsers(browser)
                .run()
                .catch(function(error) {
                    console.error(error);
                });

или найдите эту последовательность:

await runner
      .browsers(browsers)
      .specs(specs)
      .steps(steps)
      .concurrency(concurrency)
      .startApp(app, appInitDelay)
      .tags(tags)
      .run(...)

Цепочка метода useProxy для объекта runner (сделайте это до метода run()):

const runner = tc.createRunner();
            return runner
                .src('./test.js')
                .screenshots('reports/screenshots/', true)
                .browsers(browser)
                .useProxy('username:password@proxy.mycorp.com')
                .run()
                .catch(function(error) {
                    console.error(error);
                });
...