t.me/atinfo_chat Telegram группа по автоматизации тестирования

Не работает TmsLink в Allure Report и второй вопрос по Listener

listeners
infrastructure
reporting
allure
selenide
java
Теги: #<Tag:0x00007f9c4edc8f88> #<Tag:0x00007f9c4edc8d80> #<Tag:0x00007f9c4edc8bf0> #<Tag:0x00007f9c4edc8a60> #<Tag:0x00007f9c4edc88d0> #<Tag:0x00007f9c4edc8768>

(stek) #1

Привет, подскажите в тестах указал @TmsLink(“1”) , в allure указал путь

. Когда проходят тесты, номер кейса 1 ведет на http://localhost:8080/job/test15/allure/

И второй вопрос, по Listener:
SelenideLogger.addListener("AllureSelenide", new AllureSelenide().screenshots(true).savePageSource(false));

Куда его вставлять?В @BeforeTest, в клас с драйвером?


(Vasiliy Rakshin) #2
  1. Попробуйте такую проперти и формат ссылки:
    allure.link.tms.pattern=https://example.org/tms/{}

  2. Скорее всего в @BeforeSuite.


(stek) #3

не помогло(


(Vasiliy Rakshin) #4

Версии какие вы используете аллюра, плагина? Обновите на свежие.


(Vasiliy Rakshin) #5

Смотрите, я проверил. Переменную allure.link.tms.pattern=https://example.org/tms/{} надо сетить перед запуском тестов. Есть 2 способа:

  1. Просто создаёте параметр для сборки и ставите Inject build variables.
  2. Указываете для maven-surefire-plugin
<systemPropertyVariables>                                     
             <allure.link.tms.pattern>https://lalalal/browse/tms/{}</allure.link.tms.pattern>                       
</systemPropertyVariables>

а в настройках Плагина Аллюр репорта оставьте пустыми эти поля.


(stek) #6

Помогло.

Не совсем понял.

 @BeforeSuite void selenideLoger() {

        SelenideLogger.addListener("AllureSelenide",
            new AllureSelenide().screenshots(true).savePageSource(false));

    }

Создал BeforeSuite не помогло( Обновил allure-selenide, allure-testng , тоже не помогло.Скриншоты упавших тестов отстуствуют


(Vasiliy Rakshin) #7

А кто вам сказал, что он будет делать скрины когда упал тест?
Я думаю, что он делает скрины только степов или вызванных селенидовских методов.
Действия, что нужно делать перед тестом и после описываются в тестЛистенере для ТестНГ который.


(stek) #8

Так зачем тогда этот SelenideLogger ?


(Vasiliy Rakshin) #9

Если честно - не в курсе зачем он.
Попробуйте в BeforeClass поставить.


(stek) #10

Запихнул в @BeforeMethod в тестовом классе и заработало. Получается нужно будет добавлять в каждый тестовый класс.


(Artem Eroshenko) #11

Можно написать TestNg листенер, который перед всем сьютом добавит логгер для всех тестов


(Artem Eroshenko) #12

Есть опыт создания таких листенеров?


(Artem Eroshenko) #13

public class AllureListener implements ISuiteListener {

@Override
public void onStart(final ISuite suite) {
    SelenideLogger.addListener("AllureSelenide",
            new AllureSelenide().screenshots(true).savePageSource(false));
}

public void onFinish(ISuite suite) {
    
}

}


(stek) #14

Уже заработало с @BeforeClass.
Спасибо)