我对 testCase 执行有一个奇怪的问题。
我有一个具有以下结构的测试用例:
Setup script:
set session_id = 0
set session_index = 0
store custom properties in an external file
和测试用例主体
Test Case:
data source
SOAP - authentication on components (gives session_id for each component)
groovy - recover useful data (store session_id in custom prop session_id_<session_index>)
source loop
SOAP - start asynchronous service on component 1
SOAP - check status on component 1
goto 'check status' while status = Pending
SOAP - check status on component 2
goto 'disconnect terminals' is session_id = 0
SOAP disconnect
groovy disconnect terminal : loop for each session_index: set session_id = session_id_<session_index> and use it in the SOAP disconnect step (I use run test step)
TearDown Script : 恢复自定义属性
所有这些步骤都成功执行,我没有记录任何错误,但整体测试的状态为 FAILED。
我意识到问题来自 goto 步骤:我正在循环返回 SOAP 请求以检查状态,而返回的状态设置为“待定”。因此,每次请求返回“待处理”时,它都会失败,我再次发送检查请求。当状态最终为“成功”时,testStep 变为绿色(OK)并且 testCase 继续。
在整体结果中,多次播放的testStep每次“迭代”存储一次,只有最后一次的结果是OK的,所以整体测试状态为FAILED。