Open amit227 opened 3 years ago
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 ?
@amit227 could you please provide an SSCCE (Short, Self Contained, Correct (Compilable), Example)?
@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
Could anyone please help on above issue ?
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