Add screening from all opened webdriver windows (#8012)
* add screening from all opened webdriver windows6.19.x
parent
458dd4fa5b
commit
fdb717f529
|
|
@ -321,7 +321,7 @@ public abstract class SeleniumTestHandler
|
|||
Object testInstance = result.getInstance();
|
||||
|
||||
collectInjectedWebDrivers(testInstance, webDrivers);
|
||||
webDrivers.forEach(webDriver -> captureScreenshot(result, webDriver));
|
||||
webDrivers.forEach(webDriver -> captureScreenshotsFromOpenedWindows(result, webDriver));
|
||||
}
|
||||
|
||||
private void captureHtmlSource(ITestResult result) {
|
||||
|
|
@ -373,10 +373,9 @@ public abstract class SeleniumTestHandler
|
|||
}
|
||||
}
|
||||
|
||||
private void captureScreenshot(ITestResult result, SeleniumWebDriver webDriver) {
|
||||
private void captureScreenshotFromWindow(ITestResult result, SeleniumWebDriver webDriver) {
|
||||
String testName = result.getTestClass().getName() + "." + result.getMethod().getMethodName();
|
||||
String filename = NameGenerator.generate(testName + "_", 8) + ".png";
|
||||
|
||||
try {
|
||||
byte[] data = webDriver.getScreenshotAs(OutputType.BYTES);
|
||||
Path screenshot = Paths.get(screenshotDir, filename);
|
||||
|
|
@ -387,6 +386,17 @@ public abstract class SeleniumTestHandler
|
|||
}
|
||||
}
|
||||
|
||||
private void captureScreenshotsFromOpenedWindows(
|
||||
ITestResult result, SeleniumWebDriver webDriver) {
|
||||
webDriver
|
||||
.getWindowHandles()
|
||||
.forEach(
|
||||
currentWin -> {
|
||||
webDriver.switchTo().window(currentWin);
|
||||
captureScreenshotFromWindow(result, webDriver);
|
||||
});
|
||||
}
|
||||
|
||||
private void dumpHtmlCodeFromTheCurrentPage(ITestResult result, SeleniumWebDriver webDriver) {
|
||||
String testName = result.getTestClass().getName() + "." + result.getMethod().getMethodName();
|
||||
String filename = NameGenerator.generate(testName + "_", 8) + ".html";
|
||||
|
|
|
|||
Loading…
Reference in New Issue