Burada web sayfasındaki bütün metin olarak belirtilen linkleri "a" etiketiyle listeye atıyoruz.
Her link için Http isteği gönderip gelen http cevabına göre linkin kırık mı, boş mu, bu web sitesine ait mi vs. olduğunu yazdırıyoruz.
Bu kodda HttpUrlConnection sınıfının openConnection yöntemini kullanıyoruz. Burada "HEAD" kullanılmasının sebebi bütün sayfanın getirilmek istenmemesidir.
@Test
public void verifyLinks() {
String homepage = "http://sinemayk.blogspot.com/";
driver.get(homepage);
String url ="";
HttpURLConnection httpURLConnection = null;
List<WebElement> links = driver.findElements(By.tagName("a"));
Iterator<WebElement> it = links.iterator();
while(it.hasNext()){
url = it.next().getAttribute("href"); //htmlde verilen linkler "href" attribute u ile verildiği için, <a href=”http://google.com/”>Google</a>
if (url == null || url.isEmpty()){
System.out.println(url+ " URL boş ya da anchor etiketi tanımlanmamış");
continue;
}
if (!url.startsWith(homepage)){
System.out.println(url+ " URL başka bir domaine ait");
continue;
}
try {
httpURLConnection = (HttpURLConnection) (new URL(url).openConnection());
httpURLConnection.setRequestMethod("HEAD");
httpURLConnection.connect();
int respCode = httpURLConnection.getResponseCode();
if (respCode >= 400) {
System.out.println(url + " is kırık link");
} else {
System.out.println(url + " geçerli link");
}
}
catch(MalformedURLException e){
e.printStackTrace();
}
catch (IOException e){
e.printStackTrace();
}
}
}
}
Her link için Http isteği gönderip gelen http cevabına göre linkin kırık mı, boş mu, bu web sitesine ait mi vs. olduğunu yazdırıyoruz.
Bu kodda HttpUrlConnection sınıfının openConnection yöntemini kullanıyoruz. Burada "HEAD" kullanılmasının sebebi bütün sayfanın getirilmek istenmemesidir.
@Test
public void verifyLinks() {
String homepage = "http://sinemayk.blogspot.com/";
driver.get(homepage);
String url ="";
HttpURLConnection httpURLConnection = null;
List<WebElement> links = driver.findElements(By.tagName("a"));
Iterator<WebElement> it = links.iterator();
while(it.hasNext()){
url = it.next().getAttribute("href"); //htmlde verilen linkler "href" attribute u ile verildiği için, <a href=”http://google.com/”>Google</a>
if (url == null || url.isEmpty()){
System.out.println(url+ " URL boş ya da anchor etiketi tanımlanmamış");
continue;
}
if (!url.startsWith(homepage)){
System.out.println(url+ " URL başka bir domaine ait");
continue;
}
try {
httpURLConnection = (HttpURLConnection) (new URL(url).openConnection());
httpURLConnection.setRequestMethod("HEAD");
httpURLConnection.connect();
int respCode = httpURLConnection.getResponseCode();
if (respCode >= 400) {
System.out.println(url + " is kırık link");
} else {
System.out.println(url + " geçerli link");
}
}
catch(MalformedURLException e){
e.printStackTrace();
}
catch (IOException e){
e.printStackTrace();
}
}
}
}
Yorumlar
Yorum Gönder