Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Ashot with IE11 taking partial image with black spot in rest of the scrolled area #226

Open
amit227 opened this issue Jun 14, 2021 · 4 comments

Comments

@amit227
Copy link

amit227 commented Jun 14, 2021

Hi ,

I am using selenium 4.0 and ashot 1.53 with IE 11
Full page screenshot is working fine withchrome and firefox but not with IE11.

Image is attached below from IE
NTDotComVisualTest4 homePage4_Baseline

@amit227
Copy link
Author

amit227 commented Jun 14, 2021

I have already tried
Screenshot pageScreenShot = new AShot().shootingStrategy(ShootingStrategies.viewportRetina(1000, 0, 0, 2))
.takeScreenshot(driver);
but did get any luck but the same code works with Chrome and Firefox for taking full page screenshot..

Could anyone please help ?

@valfirst
Copy link
Collaborator

@amit227 could you please provide an SSCCE (Short, Self Contained, Correct (Compilable), Example)?

@amit227
Copy link
Author

amit227 commented Jun 14, 2021

@amit227 could you please provide an SSCCE (Short, Self Contained, Correct (Compilable), Example)?

Hi @valfirst

I have prepared a demo code for you to understand my problem ,

Below is AshotDemo.java Class where I am trying to launch a URL and trying to take full Page screenshot with given browser using Ashot

package com.ntrs.utils;

import java.io.File;
import java.io.IOException;
import java.util.concurrent.TimeUnit;

import javax.imageio.ImageIO;

import org.openqa.selenium.JavascriptExecutor;
import org.openqa.selenium.PageLoadStrategy;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.chrome.ChromeDriver;
import org.openqa.selenium.chrome.ChromeOptions;
import org.openqa.selenium.firefox.FirefoxDriver;
import org.openqa.selenium.ie.InternetExplorerDriver;
import org.openqa.selenium.ie.InternetExplorerOptions;
import org.openqa.selenium.remote.DesiredCapabilities;
import org.openqa.selenium.support.ui.ExpectedCondition;
import org.openqa.selenium.support.ui.WebDriverWait;

import ru.yandex.qatools.ashot.AShot;
import ru.yandex.qatools.ashot.Screenshot;
import ru.yandex.qatools.ashot.shooting.ShootingStrategies;

public class AShotDemo {

public static void main(String[] args) throws IOException, InterruptedException {
	// TODO Auto-generated method stub

	String Browser = "IE";
	WebDriver driver;

	switch (Browser.toUpperCase()) {
	case "IE":
		System.setProperty("webdriver.ie.driver", "./Drivers/IEDriverServer3.7.exe");
		DesiredCapabilities caps = new DesiredCapabilities();
		caps.setCapability("takesScreenShot", true);
		// caps.setCapability("ie.enableFullPageScreenshot", false);
		InternetExplorerOptions ieop = new InternetExplorerOptions();
		ieop.setPageLoadStrategy(PageLoadStrategy.EAGER);
		driver = new InternetExplorerDriver(caps);
		break;
	case "CHROME":
		System.setProperty("webdriver.chrome.driver", "./Drivers/chromedriver.exe");
		ChromeOptions options = new ChromeOptions();
		options.addArguments("disable-infobars");
		/* Added to resolve error: DevToolsActivePort file doesn't exist */
		options.addArguments("--no-sandbox");
		options.addArguments("--disable-dev-shm-usage");
		/* Added to resolve error: DevToolsActivePort file doesn't exist */
		driver = new ChromeDriver();
		break;
	case "FF":
		System.setProperty("webdriver.gecko.driver", "./Drivers/geckodriver.exe");
		driver = new FirefoxDriver();
		break;
	default:
		System.setProperty("webdriver.ie.driver", "./Drivers/IEDriverServer.exe");
		driver = new InternetExplorerDriver();
		break;
	}

	// Maximize the browser
	driver.manage().window().maximize();

	// setting implicit wait

	driver.manage().timeouts().implicitlyWait(30, TimeUnit.SECONDS);

	// Launch the url

	driver.navigate().to("https://github.com/pazone/ashot");
	
	 //Wait for Javascript to load
    ExpectedCondition<Boolean> jsLoad = driver1 -> ((JavascriptExecutor) driver1)
            .executeScript("return document.readyState").toString().equals("complete");

	
	// delay

	Thread.sleep(3000);

	// taking screenshot

	Screenshot pageScreenShot = new AShot().shootingStrategy(ShootingStrategies.viewportRetina(1000, 0, 0, 2))
			.takeScreenshot(driver);

	// Defining screenshot locoation for file

	// BaseLine, Actual Photo Files
	File ImageFile = new File("C:\\AShot\\Images\\");

	ImageIO.write(pageScreenShot.getImage(), "PNG", ImageFile);

}

}

`
Output as full page screenshot coming as below with IE11 but the same code works fine with Chrome and Firefox

Images

@amit227
Copy link
Author

amit227 commented Jun 15, 2021

Could anyone please help on above issue ?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants