Допустимо ли использовать один экземпляр webDriver для всех сценариев в файле объектов огурца - PullRequest
0 голосов
/ 19 октября 2018

Я создал проект cucumber-spring, используя один SpringEan-компонент EventFiringWebDriver для всех сценариев в каждом файле объектов.Мои тесты работают нормально, и если не открывать новый драйвер для каждого сценария, это сокращает общее время тестирования.Это приемлемая практика?Спасибо за вашу помощь!

Ответы [ 2 ]

0 голосов
/ 23 октября 2018

Как стандартная практика, у вас должно быть управление драйверами отдельно от тестового кода, которое должно обеспечивать и управлять сеансом (ами) драйвера в зависимости от конфигурации во время выполнения - параллельной или последовательной работы на одном или нескольких браузерах / платформах.

В нашем случае мы используем qaf с gherkin , а qaf заботится о предоставлении потокового безопасного сеанса драйвера для параллельного или последовательного запуска сценариев в одном или нескольких браузерах.Мы указываем это в файле конфигурации xml, который является стандартным файлом конфигурации test-ng.Например, следующий файл конфигурации запускает сценарии параллельно в двух браузерах (оба браузера параллельны):

<suite name="AUT Test Automation" verbose="0" parallel="tests" thread-count="10">

      <test name="Tests on ff" parallel="methods">
           <parameter name="driver.name" value="firefoxDriver" />
           <classes>
               <class name="com.qmetry.qaf.automation.step.client.gherkin.GherkinScenarioFactory" />
           </classes>
      </test>

      <test name="Tests on chrome" parallel="methods">
           <parameter name="driver.name" value="chromeDriver" />
           <classes>
               <class name="com.qmetry.qaf.automation.step.client.gherkin.GherkinScenarioFactory" />
           </classes>
      </test>
</suite>

Конфигурирование может выполняться в зависимости от потребностей.

0 голосов
/ 19 октября 2018

Рекомендуется проводить один тест на браузер.Это лучше изолирует проблемы в одном прогоне, поэтому, если один сценарий идет вбок, это менее вероятно повлияет на другие сценарии.

Если вы этого еще не сделали, посмотрите на параллельное выполнение.Это ваш лучший выбор для ускорения работы.Если вы просто добавите еще один браузер, вы сократите общее время выполнения примерно вдвое ... больше браузеров делает его еще быстрее.

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