2014-10-15 2 views
1

예를 들어 this blog에이어서 ParallerRunner 정보를 읽습니다. bin/behat 명령을 호출하면 하나의 브라우저 창이 열리고 아래 설정으로 모든 테스트가 성공적으로 실행됩니다.동시 실행 테스트 (두 개의 브라우저 창에서)

심포니/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를 수정, 그러나 그것은 그렇게하지 않고, 하나 개의 브라우저 창을 다른 창에서 일부에서 몇 가지 테스트를 실행하려면 . 그것이하는 일은 두 개의 브라우저 창을 열지 만 모두 동일한 테스트를 실행합니다! 이 문제를 어떻게 극복 할 수 있습니까?

심포니/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은 테스트를 실행하는 데 걸리는 시간을 내 신경을 죽입니다. 고통을 완전히 공유하십시오. –

답변

관련 문제