在运行测试步骤时如何运行脚本声明?

时间:2019-04-29 16:32:39

标签: groovy soapui

我是groovy脚本和soap UI的新手。我在测试步骤中添加了脚本断言。无论如何,当我运行测试用例时,脚本断言都没有运行。我必须手动运行它以验证我的回答是正确的。 有人可以帮我吗? 我的常规脚本测试断言:

import groovy.json.JsonSlurper

//grab response
def response = messageExchange.response.responseContent

//Convert to JsonSluper to access data
def list = new JsonSlurper().parseText(response)


//check delegates are in one session per timeslot
for (i = 0; i < list.size(); i++) {

    // find all items for this delegate in this timeslot
    def itemsForThisDelegateInThisTimeslot = list.findAll {element -> element.delegateId == list[i].delegateId && element.agendaItemId== list[i].agendaItemId}

    log.info(list[i].delegateId)

    // there should not be more than 1
    if(itemsForThisDelegateInThisTimeslot.size() > 1) {
        log.info(list[i].delegateId + "Delegate already assigned to a workshop at same time");

     //Assert fail in execution
       throw new Error ('Fail')
    }
}

1 个答案:

答案 0 :(得分:1)

首先,此脚本断言中没有断言。查找Groovy断言。

如果您“断言”脚本是通过还是失败,则需要类似...

assert (response.contains('Something from the response'));

assert (someBooleanVar == true);

如果通过,则步骤变为绿色。如果失败,它将变为红色。

恕我直言,当步骤失败时,您似乎抛出了异常。我不会以这种方式使用异常。有一个例外可以捕获并报告代码问题。不是测试失败。

关于异常,请查找Groovy Try and Catch。

对于运行(或不运行)测试用例时的运行。我怀疑它正在运行,但是由于您未声明任何内容,因此看不到结果。

是否注意到屏幕底部的“脚本日志”选项卡?测试步骤运行时,所有log.info语句都将位于此处。我建议清除该日志(在“脚本日志”窗口中右键单击...),然后再次运行测试用例,并在“脚本日志”中查看一些日志消息。