-1

我们正在使用soapui来测试API,目前我们有一些测试用例。我创建了新的测试套件,在这个测试套件中我们有超过 120 个测试用例,我需要在其中添加额外的标头,请建议代码片段如何在其中添加额外的标头?

4

1 回答 1

0

你真的应该尝试一些事情然后寻求帮助,这是最好的学习方式。

然而,这并不是很简单。我猜下面的代码片段会对你有所帮助,但你必须根据自己的需要调整它。

testRunner.testCase.testSuite.project.testSuiteList.each
{
    suite ->
    name = suite.getName()

    suite.testCaseList.each{
        TC -> 
        // parse each Test Case
        TC.testStepList.each{
            TS ->
            // parse each Test Step
            if (TS.config.type == "restrequest")
            {
                // only on REST request type steps
                // check its headers
                headers = TS.getHttpRequest().getRequestHeaders()
                //log.info "headers = " + headers
                refHeaderName = "Accept" // search Accept header
                found = false
                headers.find(){
                    hd ->
                    //log.info "header name = ${hd.key}, value = ${hd.value}"

                    if(hd.key == refHeaderName)
                    {
                        found = true
                    }
                }

                if (found == false)
                {
                    log.info "testSuite $name - testCase ${TC.getName()} - testStep ${TS.getName()}"
                    // le header n'existe pas, on le cree
                    headers.put("Accept", "application/json")
                    //log.info "add a new header : " + headers
                    TS.testRequest.setRequestHeaders(headers)
                }
            }
        } // TS each
    } // TC 
} // TSuite each

这就是我在项目中所做的,我使用 REST 请求......

祝你好运

亚历山大

于 2018-10-31T07:55:31.093 回答