如何在groovy中编写递归函数,等待响应中的特定值SOAP UI

时间:2016-01-19 12:24:09

标签: groovy soapui

我有一个GET请求正在寻找值VisualTreeHelper作为响应,但如果服务器中的进程未完成,则此值可以是completeprocessing

现在我需要一个groovy脚本或soap-ui中的技巧,它可以继续处理这个请求,直到它在响应中找不到request_is_in_process的值。

为了进一步说明,我为此请求创建了一个单独的项目,它将在全局属性中保存我的价值。

complete

上面的代码正在设置我的价值非常好。我只需要继续运行该测试步骤,直到它找不到值import groovy.json.JsonSlurper responseContent = testRunner.testCase.getTestStepByName("Checking_Request").getPropertyValue("response") slurperresponse = new JsonSlurper().parseText(responseContent) log.info (slurperresponse.products.status) def valueFromPreviousResponse = slurperresponse.products.status context.testCase.testSuite.setPropertyValue('Status_of_Product_import_request', valueFromPreviousResponse) com.eviware.soapui.SoapUI.globalProperties.setPropertyValue( "Status_of_Product_import_request", valueFromPreviousResponse )

注意: - 我正在测试REST API。一切都是JSON格式。另一件事是我使用的是免费版的SOAP-UI,而不是专业版

我是SOAP-UI的新手,也是groovy的新手。所以任何建议都会有所帮助/欢迎。

提前致谢!! :)

2 个答案:

答案 0 :(得分:1)

试试这个

  While (slurperresponse.products.status!= "complete") {
          testRuner.testcase.testStepByName("yourStepName").run(testRunner,testRunner.getRunContext())
    }

答案 1 :(得分:0)

以下代码适用于我:

<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="homepage-boxes">
    <h2 class="ty-mainbox-simple-title">Shop Interior Bean Bags</h2>
    <h2 class="ty-mainbox-simple-title">Shop Outdoor Bean Bags</h2>
    <h2 class="ty-mainbox-simple-title">Buy Kids Bean Bags</h2>
    <h2 class="ty-mainbox-simple-title">Buy Baby Bean Bags</h2>
</div>

感谢user1207289:)