How to use chrome headless using selenium

How to use chrome headless using selenium

How to use chrome headless using selenium  


A headless browser is a kind of web browser which has no user interface, In other words,  a browser, that access web pages but doesn’t show them to any human being. They’re actually used to provide the content of web pages to other programs. 



Why is that useful?



A headless browser is a great tool for automated testing and server environments where you don't need a visible UI shell. For example, you may want to run some tests against a real web page, create a PDF of it, or just inspect how the browser renders an URL.

Now Chrome also supports headless feature from version 59 .  

Right now, Selenium opens a full instance of Chrome. In other words, it's an automated solution but not completely headless. However, Selenium could use --headless in the future.


There are few bugs  in new chrome driver so we need to use 2 chromeOptions to use headless Chrome in selenium  

Here is code for chrome headless  in windows system 

 import org.junit.Assert;  
 import org.junit.Test;  
 import org.openqa.selenium.By;  
 import org.openqa.selenium.WebDriver;  
 import org.openqa.selenium.chrome.ChromeDriver;  
 import org.openqa.selenium.chrome.ChromeOptions;  
 import org.openqa.selenium.support.ui.ExpectedConditions;  
 import org.openqa.selenium.support.ui.WebDriverWait;  
 import java.io.IOException;  
 public class HeadlessChrome  
 {  
  @Test  
  public void createChromeDriverHeadless() throws IOException  
  {  
    ChromeOptions chromeOptions = new ChromeOptions();  
    System.setProperty("webdriver.chrome.driver", "C:\\Users\\anjan\\Desktop\\cucmber\\chromedriver_win32\\chromedriver.exe");  
    chromeOptions.addArguments("--headless");  
    chromeOptions.addArguments("--disable-gpu");  
    WebDriver Driver = new ChromeDriver(chromeOptions);  
    Driver.navigate().to("https://www.facebook.com");  
    WebDriverWait waitForUsername = new WebDriverWait(Driver, 5000);  
    waitForUsername.until(ExpectedConditions.visibilityOfElementLocated(By.id("email")));  
    Driver.findElement(By.id("email")).sendKeys("tomsmith");  
    Driver.findElement(By.id("loginbutton")).click();  
    WebDriverWait waitForError = new WebDriverWait(Driver, 5000);  
    waitForError.until(ExpectedConditions.visibilityOfElementLocated(By.id("email")));  
    Assert.assertTrue(Driver.findElement(By.id("loginbutton")).getText().contains("Log In"));  
    Driver.quit();  
  }  
 }  

Share this

Related Posts

Previous
Next Post »

2 comments

comments
August 5, 2018 at 6:38 AM delete

Thanks for sharing the valuable information to share with us For more valuable information please visit our website.

selenium training in chennai


aws training in chennai

Reply
avatar


your ad