2012-09-08 2 views
0

개발 및 셀렌 브라우저 테스트를 수행하기 위해 오이 사양을 작성하려는 기능적으로 유사한 웹 사이트 집합이 있습니다. 사이트는 다른 언어로되어 있으며 URL은 다를 수 있지만 주로 동일한 기능을 갖습니다.다양한 변수 시나리오를위한 오이 변형 개요 시나리오

예제 시나리오는 내가 시나리오와 예제의 수가 적은 경우는 괜찮

Scenario Outline: Photo Gallery Next Action 
    Given I visit a "<photo-gallery-page>" 
    When I click "<next-button>" in the gallery 
    Then the photo should advance 
    Examples: 
     | photo-gallery-page | next-button | 
     | www.site1.com/photo-gallery | Next | 
     | www.site2.com/la-galerie-de-photos | Suivant | 

수 있습니다. 그러나 나는 수백 개의 시나리오와 새로운 사이트의 상당히 정기적 인 출시를 예상하고 있습니다. 새로운 사이트를 시작할 때 예제를 추가하기 위해 각 시나리오를 편집하지 않아도됩니다.

사이트 구성마다 모든 예제 변수를 저장해야하므로 모든 사이트에 대해 동일한 시나리오를 실행할 수 있다고 생각합니다. 그런 다음 새로운 구성을 쉽게 추가 할 수 있으며 모든 시나리오 예제를 편집하지 않고 읽을 수 없게 만듭니다.

site[:en].photo-gallery-page = 'www.site1.com/photo-gallery' 
site[:fr].photo-gallery-page = 'www.site2.com/la-galerie-de-photos' 
site[:en].next-button = 'Next' 
site[:fr].next-button = 'Suivant' 

하나의 옵션은 다음 어딘가에이 설정을 저장하는 스크립트를 사용하여 사이트를 특정 오이 파일을 생성하는 것입니다. 그런 다음 필요한 경우가 포함 된 생성 된 gherkins를 실행할 수 있습니다.

더 쉬운 방법이 있는지 궁금합니다. 내 다른 생각은 테이블 변환을 사용하여 예제 블록을 대체 할 수있는 경우였다. 나는 읽었지만, 가능한 한 단계 내에서 인라인 테이블 인 경우에만 테이블을 변환 (그리고 사용자 정의 코드 블록으로 교체) 할 수 있다고 말할 수 있습니다. 예제 블록을 같은 방법으로 변환 할 수 없습니다.

정확하게 이해 했습니까? 이것을 달성하는 최선의 방법에 대한 다른 제안?

답변

0

더 좋은 방법이 있는지 궁금합니다 ...이 모든 것이 매우 취 약합니다.

만약에 : 당신이 등의 버튼 이름의 개념 밖으로 찍은

Given I follow a link to the gallery "MyGallery" 
And the gallery "MyGallery" contains the following photos: 
|PhotoID|PhotoName| 
|1  |MyPhoto1 | 
|2  |MyPhoto2 | 
And the photo "MyPhoto1" is displayed 
When I view the next photo 
Then the next photo "MyPhoto2" should be displayed 

주 - 아마도 더 나은 단계 정의에 정의 구현 세부 사항을. 당신이 정의하고있는 행동은 단순히 갤러리로 가서 이미지를보고 다음 이미지를 요청하고 다음 이미지를 봅니다. 귀하의 단계 정의에서 을 정의하는 방법.

http://cuke4ninja.com/에서이 주제에 대한 유용한 정보가 있습니다. PDF를 다운로드하고 웹 자동화 섹션 (웹 자동화 피라미드에 대한 자세한 내용)을 확인하십시오.

구성 문제를 해결하려면 어쩌면 어떤 종류의 구성을 정의 할 수 있습니다. 의존성 주입을 통해 단계 정의 파일에 제공하십시오. 다른 설정에서로드하여 특정 사이트를 만들 수 있습니다. 파일을 생성자에서 제안한대로. 단계 정의는 관련 사이트 특정 데이터를 구성에서 가져올 수 있습니다. 클래스 '속성. 나는 이것이 당신의 시나리오가 더 읽기 편할 수 있다고 생각한다. 덜 부서지기 쉽다.

관련 문제