Birçok web sayfasında, bazı bağlantıların, metinlerin veya bazen resimlerin üzerine gelindiğinde çıkan yazılara tooltips denir.
Bu metin genellikle nesnenin işlevselliğinin kısa bir açıklamasıdır veya bazı durumlarda nesnenin ayrıntılı bir açıklamasını görüntüler.
Birçok durumda, test yaparken bu metin açıklamasının beklendiği gibi görüntülenip görüntülenmediğini doğrulamak gerekir. Bu, tooltip'in HTML’e nasıl girdiğine bağlı olarak iki farklı yolla yapılabilir.
- Tooltip, Html kodunda, herhangi bir elementin ‘title’ bilgisi olarak kullanıldığında. Burada tooltip'in metnini getAttribute() yöntemiyle alabiliriz.
- Tooltip, Html kodunda, ‘div’de jquery ile mevcut olduğunda. Burada, Actions sınıf yöntemlerini kullanarak tooltip'in metnini alabiliriz.
Örnek:
//Burada getAttribute yöntemiyle title olarak verilen tooltip metnini buluyoruz.
@Test
public void toolTipStatik() throws InterruptedException{
driver.get("https://www.seleniumhq.org");
WebElement element = driver.findElement(By.linkText("Browser Automation"));
String toolTipMetni = element.getAttribute("title");
System.out.println("GetAttribute yöntemiyle ToolTip'in Metni: " +toolTipMetni);
Assert.assertEquals("Return to Selenium home page", toolTipMetni);
}
//Burada Actions sınıfının moveToElement yöntemini kullanarak fareyi age elementinin üzerine getiriyoruz. Kullanıcının hareketini bu yöntemle tekrarlamış bulunuyoruz.
@Test
public void toolTipJQuery() {
driver.navigate().to("https://jqueryui.com/tooltip/");
driver.switchTo().frame(driver.findElement(By.xpath("//iframe[@class='demo-frame']")));//age elementi bir frame içinde olduğu için ilk olarak frame'e gelmeniz gerekir yoksa age elementini bulamaz
WebElement element = driver.findElement(By.id("age"));//age elementi bulunuyor
Actions action = new Actions(driver);//action objesi tanımlanıyor
action.moveToElement(element).build().perform();//fare age elementine getiriliyor
WebElement toolTipElement = driver.findElement(By.xpath("//div[@class='ui-helper-hidden-accessible']//div[1]"));//yukarıdaki işlemden sonra çıkan tooltip elementi bulunuyor
String toolTipText = toolTipElement.getText();//tooltip'in metni alınıyor
System.out.println("JQuery ile yazılan Tooltip metni: " +toolTipText);
Assert.assertEquals("We ask for your age only for statistical purposes.", toolTipText);
}
Yorumlar
Yorum Gönder