Документация
СкриншотыКак сделать скриншот в тесте?
Обычно это не нужно, так как Selenide автоматически делает скриншоты при падении тестов. Это очень удобно для анализа ошибки.
По умолчанию Selenide складывает скриншоты в папку build/reports/tests
.
Можно ли сказать Selenide сохранять скриншоты в другую папку?
Да. Для этого используйте ключик -Dselenide.reportsFolder=test-result/reports
и укажите путь к нужной папке.
Для версии 4 и ниже используйте -Dselenide.selenide.reports=test-result/reports
Альтернативный вариант - установить путь к скриншотам прямо в своём коде:
Configuration.reportsFolder = "test-result/reports";
Поддержка JUnit и TestNG
Для пользователей JUnit и TestNG мы сделали дополнительную поддержку.
Для JUnit:
Чтобы автоматически делать скриншот после каждого упавшего теста:
import com.codeborne.selenide.junit.ScreenShooter;
@Rule
public ScreenShooter makeScreenshotOnFailure = ScreenShooter.failedTests();
В общем-то это рудимент, Selenide уже давно делает это автоматически.
А вот чтобы автоматически делать скриншот после вообще каждого теста (в т.ч. зелёного), можно использовать следующую команду:
@Rule
public ScreenShooter makeScreenshotOnFailure = ScreenShooter.failedTests().succeededTests();
Для TestNG:
import com.codeborne.selenide.testng.ScreenShooter;
@Listeners({ ScreenShooter.class})
Чтобы делать скриншоты после зелёных тестов, нужно вызвать такую команду перед запуском тестов:
ScreenShooter.captureSuccessfulTests = true;
В любом месте
Вы также можете сделать скриншот в любом месте теста одной строчкой:
import static com.codeborne.selenide.Selenide.screenshot;
screenshot("my_file_name");
При этом Selenide создаст два файла: my_file_name.png
и my_file_name.html
blog comments powered by Disqus