Я пытаюсь выяснить, как я могу автоматически обновлять результаты тестовых случаев для тестовых случаев в Rally через сценарии автоматизации Cucumber. Я хочу иметь возможность запускать свои тестовые сценарии, которые затем автоматически обновят результаты тестов в Rally до Pass или Fail.
Есть ли способ сделать это с огурцом? Я использую Cucumber вместе с TestNG и Rest Assured.
Если вы используете Расширение TestNG QAF для BDD, он предоставляет способ интегрировать результатов вашего теста с помощью инструмента управления тестированием, предоставляя TestCaseResultUpdator
. В вашем тестовом случае или сценарии вам необходимо предоставить идентификатор тестового примера из инструмента управления тестированием и вызвать API, чтобы обновить результат теста для этого тестового примера. QAF поддерживает корнишон, но gherking не поддерживает пользовательские метаданные. Вы можете использовать БДД2, который является супернабором корнишонов, и ваш сценарий может выглядеть следующим образом:
@smoke @RallyId:TC-12345
Scenario: A scenario
Given step represents a precondition to an event
When step represents the occurrence of the event
Then step represents the outcome of the event
В приведенном выше примере предположим, что RallyId
представляет собой идентификатор тестового набора в инструменте управления тестированием. Вы можете использовать его при реализации средства обновления результатов.
package example;
...
public class RallyResultUpdator implements TestCaseResultUpdator{
@Override
public String getToolName() {
return "Rally";
}
/**
* This method will be called by result updator after completion of each testcase/scenario.
* @param params
* tescase/scenario meta-data including method parameters if any
* @param result
* test case result
* @param details
* run details
* @return
*/
@Override
public boolean updateResult(Map<String, ? extends Object> metadata,
TestCaseRunResult result, String details) {
String tcid = metadata.get("RallyId");
// Provide test management tool specific implemeneation/method calls
return true;
}
}
Зарегистрируйте средство обновления, как показано ниже:
result.updator=example.RallyResultUpdator
Средство обновления результатов автоматически вызывается qaf после завершения тестового примера и запускается в отдельном потоке, поэтому выполнение теста не нужно ждать.
Большое спасибо! Я попробую это решение. Много реквизита для вас, мой хороший мужчина/женщина.