Tôi mới dùng SoapUI và vừa cấu hình một MockService rất đơn giản. Có thể điều khiển phản ứng sao cho một yêu cầu cụ thể mà các phần tử của phản hồi được tạo động không?Cách trả về phản hồi động trong SoapUI MockService
Kịch bản 1:
Yêu cầu:
<record>
<identifier>ID1</identifier>
</record>
đáp ứng:
<response>
<child1>child 1</child1>
</response>
Kịch bản 2:
Yêu cầu:
<record>
<identifier>ID2</identifier>
</record>
đáp ứng:
<response>
<child2>child 2</child2>
</response>
Đó là một thử nghiệm đơn giản và tôi không cần nó để làm nhiều hơn bất kỳ ở trên. Tôi hiện đang làm những điều sau đây mà mang lại kết quả tôi muốn nhưng vì tôi hoàn toàn mới này tôi chắc chắn có những lựa chọn thay thế tốt hơn:
đáp ứng:
<response>
${dynElement}
</response>
kịch bản Groovy:
def groovyUtils = new com.eviware.soapui.support.GroovyUtils(context)
def holder = groovyUtils.getXmlHolder(mockRequest.requestContent)
def reqRef = String.valueOf(holder.getNodeValue("//identifier"))
def child1Text = "<child1>child 1</child1>"
def child2Text = "<child2>child 2</child2>"
if (reqRef == "ID1") {
context.setProperty("dynElement", child1Text)
} else if (reqRef == "ID2") {
context.setProperty("dynElement", child2Text)
}
Tôi nghĩ bạn không có ý định đặt dấu ngoặc kép xung quanh child2Text ở dòng cuối cùng của ví dụ. Nếu không, biến child2Text sẽ không bao giờ được đọc. – 0x89
vâng xin lỗi, một sai lầm. Tôi sẽ sửa – Ross