У меня проблемы с захватом скриншотов в Расширенные отчеты по огурцам для параллельного выполнения.
Есть несколько проблем:
- Иногда, скриншот не захватывается когда вызывается метод captureScreen ().
- Иногда один и тот же снимок экрана снимается несколько раз.
- Даже если снимки экрана сохраняются в каталоге, одни и те же снимки экрана вставляются несколько раз.
- Иногда текущая настройка работает нормально, но во многих случаях возникают вышеуказанные проблемы.
Способ захвата экрана :
public static synchronized void captureScreen() {
try {
File screenshot = ((TakesScreenshot) getDriver()).getScreenshotAs(OutputType.FILE); // getDriver() is a custom Method fetches the WebDriver instance for the current thread. I am saving the driver objects in a HashMap with ThreadId being the key.
byte[] data = FileUtils.readFileToByteArray(screenshot);
getScenario().embed(data, "image/png"); // getScenario() is a custom Method fetches the Scenario for the current thread. I am saving the Scenario objects in a HashMap with ThreadId being the key.
} catch (Exception ex) {
ex.printStackTrace();
}
}
Cucumber Runner : -
import com.github.mkolisnyk.cucumber.runner.*;
import cucumber.api.CucumberOptions;
import org.junit.runner.RunWith;
@RunWith(ExtendedParallelCucumber.class)
@ExtendedCucumberOptions(jsonReport = "reports/cucumber.json",
//retryCount = 1,
threadsCount = 2,
detailedReport = true,
detailedAggregatedReport = true,
overviewReport = true,
coverageReport = true,
screenShotLocation = "./screenshots",
screenShotSize = "900px",
jsonUsageReport = "reports/cucumber-usage.json",
usageReport = false,
toPDF = true,
pdfPageSize = "landscape",
excludeCoverageTags = {"@flaky" },
includeCoverageTags = {"@passed" },
outputFolder = "reports/ExtendedCucumber")
@CucumberOptions(plugin = { "html:reports/cucumber-html-report",
"json:reports/cucumber.json", "pretty:reports/cucumber-pretty.txt",
"usage:reports/cucumber-usage.json", "junit:reports/cucumber-results.xml" },
features = { "./src/test/resources/features" },
glue = { "stepDefinitions" },
dryRun = false )
Папка отчетов
Можете ли вы предложить следующие шаги