Thursday, 24 December 2015

Find total hyperlinks count on web page and click on each hyperlink one by one(Broken links logic)

import java.util.ArrayList;
import java.util.List;
import java.util.concurrent.TimeUnit;

import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.firefox.FirefoxDriver;

public class Hyperlinks_check_if_any_fails_2 {
   
public static void main(String[] args) {
   
WebDriver driver = new FirefoxDriver();
driver.get("http://www.quackit.com/html/codes/html_radio_button.cfm");
driver.manage().window().maximize();
driver.manage().timeouts().implicitlyWait(60, TimeUnit.SECONDS);
driver.navigate().refresh();

List<String> hrefs = new ArrayList<String>();
List<WebElement> links =driver.findElements(By.tagName("a"));
System.out.println("Total links are : "+links.size());

for ( WebElement anchor : links ) {
    hrefs.add(anchor.getAttribute("href"));
}
for ( String href : hrefs ) {
    driver.get(href);
    System.out.println("opening link"+driver.getCurrentUrl());
    driver.navigate().back();
  
}
}
}

+++++Find broken links logic+++++

import java.util.List;
import org.apache.http.HttpResponse;
import org.apache.http.client.methods.HttpGet;
import org.apache.http.impl.client.DefaultHttpClient;
import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.firefox.FirefoxDriver;

public class Broken_Links_Google {
 static int invalidimg;
 static WebDriver driver ;
 public static void main(String[] args) {
  try {
    driver = new FirefoxDriver();
   driver.get("http://www.quackit.com/html/codes/html_radio_button.cfm");
   invalidimg = 0;
   List allImages  = driver.findElements(By.tagName("a"));
   System.out.println("Total  images are " + allImages.size());
   for (int i = 0; i < allImages.size(); i++) {
    WebElement img = (WebElement) allImages.get(i);
    if (img != null) {
     verifyimgActive(img);
    }
   }
 
   System.out.println("Total invalid images are " + invalidimg);
   driver.quit();
  } catch (Exception e) {
   e.printStackTrace();
   System.out.println(e.getMessage());
  }
 }



 public static void verifyimgActive(WebElement img) {
  try {
   HttpResponse response = new DefaultHttpClient().execute(new HttpGet(img.getAttribute("href")));
      if (response.getStatusLine().getStatusCode() != 200)
    invalidimg++;
   }
   catch (Exception e) {
   e.printStackTrace();
  }
 }
}

No comments:

Post a Comment