2014-10-15 3 views
1

В качестве примера я последовал за this blog и прочитал ParallerRunner информации. Когда я вызываю команду bin/behat, открывается одно окно браузера и успешно выполняется все тесты с приведенным ниже параметром.Выполнение тестов поведения параллельно (в двух окнах браузера)

Symfony/behat.yml

default: 
    context: 
     class: Site\CommonBundle\Features\Context\FeatureContext 
    extensions: 
     Behat\Symfony2Extension\Extension: 
      mink_driver: true 
      kernel: 
       env: test 
       debug: true 
     Behat\MinkExtension\Extension: 
      base_url: 'http://symfony.local/app_test.php/' 
      javascript_session: selenium2 
      browser_name: firefox 
      goutte: ~ 
      selenium2: ~ 
    paths: 
     features: %behat.paths.base%/src 
     bootstrap: %behat.paths.features%/Context 

Я изменил behay.yml (как показано ниже), чтобы выполнить некоторые тесты в одном окне браузера, а некоторые в другом окне, однако не делает этого , Что он делает, он открывает два окна браузера, но они оба запускают те же тесты! Как я могу решить эту проблему?

Symfony/behat.yml

default: 
    context: 
     class: Site\CommonBundle\Features\Context\FeatureContext 
     parameters: 
      output_path: %behat.paths.base%/build/behat/output/ 
      screen_shot_path: %behat.paths.base%/build/behat/screenshot/ 
    extensions: 
     Behat\Symfony2Extension\Extension: 
      mink_driver: true 
      kernel: 
       env: test 
       debug: true 
     Behat\MinkExtension\Extension: 
      base_url: 'http://symfony.local/app_test.php/' 
      files_path: %behat.paths.base%/build/dummy/ 
      javascript_session: selenium2 
      browser_name: firefox 
      goutte: ~ 
      selenium2: ~ 
     shvetsgroup\ParallelRunner\Extension: 
      process_count: 2 
    paths: 
     features: %behat.paths.base%/src 
     bootstrap: %behat.paths.features%/Context 

F1: 
    filters: 
     tags: "@backend" 
F2: 
    filters: 
     tags: "@frontend" 

BEHAT ИСПЫТАНИЯ:

Это должно работать в одном окне:

@frontend 
Feature: User Login 

    @javascript 
    Scenario: I can login to the system 
    Given I am on "/login" 
    And I login as "user" 

Это должно работать в другом окне :

@backend 
Feature: Admin Login 

    @javascript 
    Scenario: I can login to the system 
    Given I am on "/login" 
    And I login as "admin" 
+0

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

+0

@IanBytchek - не беспокойтесь. Я буду сидеть и ждать. Если это еще не возможно, то кто-то должен сделать это в ближайшем будущем, потому что нет смысла ждать, пока долгое время тестовый набор завершится, когда один или несколько тестов не зависят от другого. Похоже, ParallelRunner [не активно развивается] (https://github.com/shvetsgroup/ParallelRunner/issues/28) в любом случае. – BentCoder

+0

Вы могли бы попробовать обновить до Behat 3 тем временем, может быть, это принесет некоторую удачу? :) Параллелизация - отличная вещь, Behat убивает мои нервы с временем, которое требуется для запуска тестов. Полностью разделить боль. –

ответ

Смежные вопросы