Добрый день! Столкнулась с проблемой рандомного падения автотестов в докере (локально те же самые тесты проходят успешно). Подскажите пожалуйста как можно воткнуть функцию скрина на нужных мне шагах, а не на местах падения. Какие инструменты можно применить чтобы составить отчетность и статистику (без помощи девопса). Какие-нибудь лайфхаки возможно есть
Можно делать скриншоты через Selenide в любом месте теста.
https://ru.selenide.org/documentation/screenshots.html (см. раздел “В любом месте”)
Эти скрины можно вставлять в Allure report через простой метод:
public class ScreenshotTest {
@Test
public void testSelenideAllureScreenshots() {
SelenideLogger.addListener("allure", new AllureSelenide());
step("1. Open the Main Page", () -> {
open("https://ru.selenide.org/index.html");
attachScreenshot("Step 1 - Main Page");
});
step("2. Open the Documentation page", () -> {
$x("//a[text()='Док']").click();
// no screenshot here
});
step("3. Open the Screenshots How-To Page", () -> {
$x("//a[text()='Скриншоты']").click();
$x("//h3[text()='В любом месте']")
.shouldBe(visible)
.scrollIntoView(true);
attachScreenshot("Step 3 - Take screenshots How-To");
});
}
private static void attachScreenshot(String screenName) {
var screenAsBytes = screenshot(OutputType.BYTES);
Allure.addAttachment(screenName, new ByteArrayInputStream(screenAsBytes));
}
}
Некоторые используемые зависимости (на примере Maven):
<dependency>
<groupId>com.codeborne</groupId>
<artifactId>selenide</artifactId>
<version>${selenide.version}</version>
</dependency>
<dependency>
<groupId>io.qameta.allure</groupId>
<artifactId>allure-selenide</artifactId>
<version>${allure.version}</version>
</dependency>
Вот так примерно будет выглядеть отчет:
1 лайк
к сожалению, чтобы подключить Allure нужен девопс, я так понимаю. Мне бы что-то что я смогла бы подключить своими силами
Девопс для того, чтобы зависимость прописать в файле? Вы серьезно?
Или у вас суперзакрытый проект без доступа в интернет, с зависимостями строго из внутреннего репозитория?