ALM Rest API - 列表中的最大表达式数为 1000



我正在尝试通过 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\失败的 SQL:/* ~~QC */选择TSC_NAME , TC_TESTCYCL_ID, TC_TEST_INSTANCE,从测试循环内连接TS_NAME TEST_CONFIGS TC_TEST_CONFIG_ID = TSC_ID TC_TEST_ID = TS_TEST_ID 上的内部联接测试 TC_TESTCYCL_ID的位置 (1,2,3...54802)

有什么方法可以解决这个问题吗?

添加标签

所以我认为我尝试的方式不是正确的方法,因为我试图做的是创建一个具有状态的新 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 具有执行状态的更新有效负载

最新更新