Как я могу автоматически обновлять тестовые наборы Rally с помощью интеграции Cucumber и Rally? - PullRequest
1 голос
/ 09 апреля 2019

Я пытаюсь выяснить, как автоматически обновлять результаты тестовых наборов для тестовых наборов в Rally с помощью сценариев автоматизации Cucumber. Я хочу иметь возможность запускать свои тестовые сценарии, которые затем автоматически обновляют результаты тестового набора в Rally до «Пройдено» или «Не выполнено».

Есть ли способ сделать это с огурцом? Я использую огурец вместе с TestNG и будьте уверены.

1 Ответ

1 голос
/ 09 апреля 2019

Если вы используете Расширение QAF TestNG для BDD , оно обеспечивает интеграцию ваших результатов теста с инструментом управления тестами, предоставляя TestCaseResultUpdator.В вашем тестовом примере или сценарии вы должны предоставить идентификатор тестового примера из инструмента управления тестами и вызвать api, чтобы обновить результат теста для этого тестового примера.QAF поддерживает gherkin , но gherking не поддерживает пользовательские метаданные.Вы можете использовать BDD2 , который является супернабором gherkin, и ваш сценарий может выглядеть следующим образом:

@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 после завершения теста и будет работать в отдельном потоке, так чтовыполнение вашего теста не должно ждать.

...