Интеграция Codeception и Testrail (международный тест менеджмент)

Всем привет! Сегодня я хочу рассказать вам, как связать интеграцию Codeception с Testrail.
Прежде всего

Нам нужен аккаунт Testrail (есть триалка на 30 дней)
обязательно в админ настройках ставим галочку (Administration->Manage site settings->API)

Cоздаем апи ключ (My settings->Api keys)

Создаем проект

Создаем Test Suite

Создаем Test Case

Добавляем расширение в vendor - здесь плагин

composer require bookit/codeception-testrail --dev

Для того чтобы прошло соединение Codeception с Testrail, нам нужно добавить в codeception.yml следующее

  • Для того, чтобы статус тестов изменился, нам нужно добавить АННОТАЦИИ (@ TR-Suite и @ TR-Case) перед методом
 class TestCest
    {

   /**
   * @tr-suite 7
   * @tr-case 83
   **/

  function loginSuccess(AcceptanceTester $I, \Page\Login $loginPage) {
  $loginPage->login();
  $loginPage->loginInvalid('test@gmail.com', '123456');
  $I->see('From your My Account Dashboard you have the ability to view','div.welcome-msg');
  $loginPage->logout();

Это расширение работает только с Cest тестами

Ну и на последок, сам запуск тестов

сodecept run -g test

Результат примерно следующий

  1. Происходит соединение
  2. Создается Test run
    После результата тестов в Testrail получаем следующее:

  1. Кликаем на acceptance Test Suite

Видим отображения тест кейсов с соответствующим статусом - Passed

P.S. Спасибо за участие в интеграции @davert, за наши страдания и усилия у нас все получилось

5 лайков

Это не интеграция, а “однобокий” маппинг тест-резалтов в TCMS - “вау” эффект есть, но кратковременный - по факту резалты проще и удобнее смотреть на CI.
Интеграцией я бы назвал такой флоу: накидали в TestRail Run кейсов - нажали на кнопку - тригнулись соответствующие тесты на CI - проапдейтили статусы кейсов в ране.