Add screening from all opened webdriver windows (#8012)

* add screening from all opened webdriver windows
6.19.x
Maxim Musienko 2017-12-22 17:14:18 +02:00 committed by GitHub
parent 458dd4fa5b
commit fdb717f529
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
1 changed files with 13 additions and 3 deletions

View File

@ -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";