我正在尝试通过REST api创建运行,但是由于测试循环太多,因此内部JDBC失败...
输入http://SERVER/qcbin/rest/domains/DOMAIN/projects/PROJECT/runs
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<Entity Type="run">
<Fields>
<Field Name="test-config-id"><Value>8901</Value></Field>
<Field Name="cycle-id"><Value>123</Value></Field>
<Field Name="test-id"><Value>4567</Value></Field>
<Field Name="testcycl-id"><Value>55638</Value></Field>
<Field Name="build-revision"><Value>1</Value></Field>
<Field Name="name"><Value>MyRun</Value></Field>
<Field Name="owner"><Value>johnsmith</Value></Field>
<Field Name="status"><Value>Passed</Value></Field>
<Field Name="subtype-id"><Value>hp.qc.run.external-test</Value></Field>
<Field Name="duration"><Value>5</Value></Field>
<Field Name="execution-date"><Value>2016-09-23</Value></Field>
<Field Name="execution-time"><Value>08:01:07</Value></Field>
<Field Name="status"><Value>Passed</Value></Field>
</Fields>
</Entity>
错误是
“ Id”:“ qccore.general-error”,“ Title”:“ getValuePostProcess”,“ ExceptionProperties”:null,“ StackTrace”: “ java.sql.SQLException:[Mercury] [Oracle JDBC 驱动程序] [Oracle] ORA-01795:列表中的最大表达式数为 1000 \ n \ n失败的SQL:/ * ~~ QC * / SELECT TSC_NAME,TC_TESTCYCL_ID, TC_TEST_INSTANCE,TS_NAME来自TESTCYCL内联接TEST_CONFIGS ON TC_TEST_CONFIG_ID = TSC_ID内联接测试TC_TEST_ID = TS_TEST_ID TC_TESTCYCL_ID IN(1,2,3 ... 54802)
有什么办法可以解决这个问题?
添加标签
答案 0 :(得分:0)
因此,我不认为我尝试执行的方法是正确的方法,因为我尝试执行的操作是创建一个具有状态的新Run对象。
我认为还可以,但是考虑了几个小时,这没有意义,因为随后会进行手动ALM测试运行...
开始运行->运行已定义的测试用例->将运行状态置于进行中->完成所有定义的测试后,它将状态更新为测试结果
所以你应该做的
对于每个测试,
输入 http://SERVER/qcbin/rest/domains/DOMAIN/projects/PROJECT/test-instance/TESTID 并传递状态为“进行中”的有效载荷
该请求将创建运行名称为“ Fast_Run_RUNDATE”的运行
测试完成后,以状态更新相同的运行
http://SERVER/qcbin/rest/domains/DOMAIN/projects/PROJECT/runs/RUNID 具有更新的有效负载并具有执行状态