2016-06-17 1 views
1

SoapUI를 사용하여 RawRequest에서 매개 변수를 전송하려고하지만 값을 읽을 때 변경합니다.RawRequest 읽기 SoapUI의 JSON 매개 변수 값이 해당 값을 변경합니다.

${=((System.currentTimeMillis().toString()).subSequence(4, (System.currentTimeMillis().toString()).length())).replaceFirst("0", "")} 

위의 예를 들면 다음과 같이 번호를 생성

파라미터는, 그것이 그것으로 저장된 사용자 특성으로부터 각 테스트 케이스에 의해 요청 (매 시험마다 고유) 요청 ID 이하이고 : 17879164.

빌드 나 피쳐 또는 그루비 스크립트를 사용하여 전송하려고 할 때 문제가 발생합니다. 둘 다 잘못 매개 변수를 읽어

다음은 매개 변수가 RawRequest 창에 제시하는 방법입니다

enter image description here

이가 SoapUI에 전송 창에서 읽기 방법은 다음과 같습니다 마지막으로 enter image description here

및 방법 Groovy 스크립트에서 읽을 수 있습니다 : enter image description here

왜이 값이 despi인지 설명 할 수 있습니까? SoapUI RawRequest 창에 17879164으로 표시되는 te는 두 가지 다른 방법을 사용하여 17879178으로 읽 힙니다.

실마리는 내가 "평평한 숫자"를 reqId로 사용하고 생성 된 것이 아니라면, 두 방법 모두 제대로 작동하고 정확한 숫자를 반환한다는 것입니다. 그러나이 경우 RawRequest 일 때 단 한 번 설정되었으므로 창에 표시되는 내용과 읽혀지는 내용이 동일해야합니다.

+0

재산 이동에 대해 확실하지 않습니다. 그러나 [여기] (https://github.com/nmrao/soapUIGroovyScripts/blob/b1f3a2eea91b1f82bd5f4c8ff9d4198afd7d3245/groovy/AssertJsonArrayElement.groovy)는 값을 검색하는 그루비 예제입니다. 이것이 도움이되는지 확인하십시오. – Rao

+0

라오 감사합니다. 내 경우에는 작동하지 않지만 미래에는 유용합니다. 환호 – QB1979

답변

1

당신이보고있는 것은 SoapUI에 "feature"입니다. 송금 단계에서 코드을 전송하면 평가가 다시 진행되어 다른 금액이 적용됩니다. 당신이해야 할 일은

은 다음과 같습니다

  1. 테스트 케이스 속성을 만듭니다.
  2. 테스트 케이스 설정 스크립트의 속성을 값으로 설정하십시오. 그래서 귀하의 경우에는 다음과 같습니다. testCase.setPropertyValue("your_property", ((System.currentTimeMillis().toString()).subSequence(4, (System.currentTimeMillis().toString()).length())).replaceFirst("0", ""))
  3. 테스트의 모든 부분은 테스트 케이스 속성 ${#TestCase#your_property} ...을 참조하십시오.이 값은 고정 값이므로 항상 같을 것입니다.
+0

감사합니다 SiKing, 월요일 아침에 이것을 점검하고 작동하는지 알려 드리겠습니다! 건배 – QB1979

+0

감사합니다 백만 달러 @SiKing, 이것은 큰 도움이되었습니다. 나는 아직도 SoapUI가 그런 식으로 속성을 호출하는 이유를 이해하지 못합니다. 나를 전혀 이해하지 못한다. 어쨌든, 지식 +1. 괜찮 으면 제 질문에 투표하십시오. 합법적 인 쿼리를 배치 했음에도 불구하고 투표를 한 것처럼 보였습니다. 여기서부터 시작합니다. 따라서 모든 투표가 중요합니다. 큰 감사드립니다! – QB1979

관련 문제