2013-10-22 5 views
0

SoapUI 요청에서 "Accept"헤더 값을 가져오고 싶습니다. 그런 다음 TestCase 속성에 저장하려고합니다. 나는 그루비 스크립트 TestStep에서 할 노력하고있어 무엇SoapUI 그루비 스크립트에서 요청 헤더 가져 오기

:

//Get Accept Header from request (if Accept Header does not exist default to empty string) 
def acceptHeader = context.testCase.getTestStepAt(0).testRequest.requestHeaders.get("Accept", "") 

//Set Accept Header Value to current TestCase properties 
testRunner.testCase.setPropertyValue("acceptHeaderSet", acceptHeader) 

테스트 케이스의 첫 번째 TestStep은 REST 요청 및 두 번째 TestStep이다가 언급 한 스크립트입니다.

나는 기본값이 설정되어있는 테스트 케이스를 실행할 때마다 (어떤 헤더를 찾을 수없는 것 같다)

무슨 일이 일어나고 있는지에 대해 어떤 생각? 이것은 SoapUI 도구의 버그입니까?

미리 감사드립니다.

답변

0

속성을 사용하여 이러한 상황을 해결하려고합니다. 속성 (예 : 프로젝트 수준)을 정의한 다음 값을 변경하면됩니다. 여기 Script access to properties

+1

의견을 보내 주셔서 감사합니다.하지만 그 이유는 다음과 같은 이유로 적합하지 않습니다. - 머리글 값을 임의로 자동 생성하는 동적 속성을 사용합니다. - 다음 단계에서는 동일한 값으로 다른 요청을하기 위해 헤더 값을 설정 한 값을 알아야합니다. – VictorPascual

+0

아마도 문제의 복잡성을 이해하지 못했지만 요청 전에 속성 값을 설정하고 다음 단계로 넘어가거나 값을 변경하십시오. 어쨌든, 그것은 꽤 흥미로운 질문입니다. – olyv

+0

정말 똑똑한 응답입니다. 나는 당신의 제안 된 접근법을 따르기 위해 시험을 변경했다. 감사! – VictorPascual

1

을 설명처럼이 나를 위해 작동합니다 testRunner.getResults() [0] .getRequestHeaders()는 전체 테스트 케이스를 실행하는 경우

이에만 작동합니다 [ "동의"] 그렇지 않으면이 없습니다 얻을 결과. 어쩌면 당신의 방법도 비슷한 문제에 부딪쳤을 것입니다.