ALM Rest API - Максимальное количество выражений в списке - 1000 - PullRequest
0 голосов
/ 30 января 2019

Я пытаюсь создать прогон через REST API, но поскольку тестовых циклов так много, внутренний JDBC не работает ...

PUT 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] [Драйвер JDBC Oracle] [Oracle] ORA-01795: максимальное количество выражений в списке составляет 1000 \ n \ nFailed SQL: / * ~~ QC * / SELECT TSC_NAME, TC_TESTCYCL_ID, TC_TEST_INSTANCE, TS_NAME FROM TESTCYCL INNER JOINTEST_CONFIGS ON TC_TEST_CONFIG_ID = TSC_ID INNER ПРИСОЕДИНЯЙТЕСЬ НА TC_TEST_ID = TS_TEST_ID ГДЕ TC_TESTCYCL_ID IN (1,2,3 ... 54802)

Будут ли какие-либо способы обойти это?

Добавить теги

1 Ответ

0 голосов
/ 31 января 2019

Так что я не думаю, что то, что я пытался сделать, было правильным способом сделать это, потому что я пытался создать новый объект Run со статусом.

Я думал, что все в порядке,но если подумать об этом в течение нескольких часов, это не имеет смысла, потому что следует выполнить ручной тест ALM ...

Запуск прогона -> определенные тестовые прогоны -> Переводит статус прогона в состояние В процессе -> Послепосле завершения всех заданных тестов он обновляет статус до того, что бы результаты теста были

Так что вы должны сделать

Для каждого теста

PUT http://SERVER/qcbin/rest/domains/DOMAIN/projects/PROJECT/test-instance/TESTID и передать полезную нагрузку со статусом «В ПРОЦЕССЕ»

Этот запрос создаст прогоны с именем прогона «Fast_Run_RUNDATE»

После завершения теста обновите тот же прогон сстатус

http://SERVER/qcbin/rest/domains/DOMAIN/projects/PROJECT/runs/RUNID с обновленной полезной нагрузкой со статусом выполнения

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...