2017-12-18 6 views
1

내 질문에 이해가되지 않는 경우 용서해주세요. 쿼리에 대한 값을 삽입하는 것입니다 어떤 메신저 뭘하려고쿼리 매개 변수의 기본값

내 기능의 파일 중 하나가 다음 새 ID를 생성하면 내가 위의 시나리오로 전화를 받아보기를하고 싶은

GET1 File 
Scenario: 

Given path 'search' 
And param filter[id] = id (default value or variable from another feature file) 

POST1 File 
Scenario: 
def newid = new id made by a post call 
def checkid = read call(GET1) {id : newid} 

같은 매개 변수. 그러므로 새로운 ID를 취하는 매개 변수가 필요합니다.

한편 새롭게 생성 된 ID가 없거나 테스트를 생성하는 것이 스위트의 일부가 아닌 경우. 난 여전히 위에서 언급 한 시나리오를 실행할 수 있지만 이번에는 그것에 기본값이 있습니다.

+0

스택 오버플로에 오신 것을 환영합니다! 질문에 대해 좀 자세히 설명해 주시겠습니까? 나는 그것이 분명하지 않다는 것을 두려워합니다. – dferenc

+0

다른 피처 파일의 변수가 my-signin.feature 문서와 유사 함을 의미합니다. –

+0

@dferenc 이 호출을받을 시나리오를 고려하십시오 (GET1을 호출 할 수 있음). 이드를 데려 와서 나에게 결과를 준다. Id는 url 쿼리 매개 변수 'www.example.com/? id = 23'이됩니다. 이제는 게시물을 호출하는 다른 기능 파일 (POST1을 호출 할 수 있음)이 나에게 새로운 ID를 제공합니다. 이제 POST1에서 새 ID로 GET1을 다시 실행하려고합니다. 그래서 어떻게이 새로운 가치를 주입합니까? 무엇을하려고하는 것은 이것입니다. POST1 def checkcode = call read (GET1) {id = new id} –

답변

1

param 대신 params을 사용하십시오. null 값을 갖는 키가 무시되도록 설계되었습니다.

null이 첫 번째 줄에 설정되면 call을 다른 기능으로 만들고 criteria 값을 덮어 쓸 수 있습니다. 여전히 null이면 매개 변수가 설정되지 않습니다. dynamic-params.feature

conditional logic의 문서는 또한 당신에게 몇 가지 아이디어를 제공 할 수 있습니다 :

* def criteria = null 
Given path 'search' 
And params { filter: '#(criteria)' } 

은 데이터 중심의 검색 PARAMS에 대한 예제 세트를 참조이 작업을 수행하는 여러 다른 방법이 있습니다.

+1

작동했습니다! 감사! –

+1

나는 노력했다. 하지만 충분히 새로운 수준이 아니고 충분히 높은 수준이기 때문에 스택 오버플로가 내게 그러한 옵션을주지 못합니다. –

+1

직접 보아라. https://imgur.com/a/a4c0j –