Ana içeriğe atla

Kayıtlar

Mart, 2019 tarihine ait yayınlar gösteriliyor

Selenium - Timeout Interface

WebDriver'ın timeout interface idir. Aşağıdaki gibi fonksiyonları mevcuttur: implicitlyWait() pageLoadTimeout() setScriptTimeout() implicitlyWait() Bir elementin bulunması için program boyunca ne kadar bekleneceğini belirtir. Elementi ararken driver bu süre içinde bütün sayfayı çeker, bulamazsa NoSuchElementException hatası verilmeden önce timeout a düşer. Birden fazla element aranırken en az biri bulunana kadar driver sayfayı çeker ya da timeouta düşer. Bu bekleme süresini kullanırken dikkatli olmak lazım çünkü test koşma süresini uzatabilir özellikle XPath kullanıldığında. Ne kadar bekleneceğini ve zaman birimini parametre olarak alır. Self referans döndürür. Örnek kullanım: driver.manage().timeouts().implictlyWait(10, TimeUnit.SECONDS) pageLoadTimeout() Bir hata döndürmeden önce sayfanın yüklenmesi için ne kadar süre beklenmesi gerektiğini belirtir. Zaman değeri ve zaman birimi alır parametre olarak. Timeout interface i döndürür. Örnek kullanim: d

Selenium - Navigation Interface

Tarayıcının geçmişindeki geri, ileri bilgilerinden yararlanarak sayfalar arası geçiş sağlar. Aşağıdaki gibi fonksiyonları mevcuttur: back() forward() to() refresh() driver.get() : Belli bir web sayfasına gider. Tarayıcının geçmişini, çerezlerini tutmaz bu yüzden ileri, geri fonksiyonunu kullanamayız. driver.navigate() : Navigate fonksiyonu da belirli bir sayfaya gider fakat tarayıcının geçmişini, çerezlerini tutar bu yüzden ileri ve geri fonksiyonlarıyla sayfalar arası geçiş yapabiliriz. Örnek Kod: public class Navigation { private WebDriver driver; private String BaseUrl; @Before public void setUp() throws Exception { System.setProperty("webdriver.gecko.driver","C:\\Selenium\\geckodriver-v0.23.0-win64\\geckodriver.exe"); driver = new FirefoxDriver(); driver.manage().window().maximize(); driver.manage().timeouts().implicitlyWait(3000, TimeUnit.SECONDS); BaseUrl = "http://www.google.com";

Selenium - Alert Interface

Uygulamalarda popup lar, uyarılar çıkabilir, eğer bunları gözardı edersek otomasyon testlerinin akışı kesilebilir. Bu interface deki methodlardan bazıları: accept dismiss getText sendKeys accept() : Pop up çıkınca hemen OK tuşuna basar. driver.findElement(...............).click(); driver.switchTo().alert().accept(); dismiss() : Pop up çıkınca hemen CANCEL tuşuna basar. driver.findElement(...............).click(); driver.switchTo().alert().dismiss(); *************************************** import java.util.concurrent.TimeUnit; import org.junit.After; import org.junit.Before; import org.junit.Test; import org.openqa.selenium.Alert; import org.openqa.selenium.JavascriptExecutor; import org.openqa.selenium.WebDriver; import org.openqa.selenium.firefox.FirefoxDriver; public class dismiss { private WebDriver driver; private String BaseUrl; @Before public void setUp() throws Exception { System.setProperty("webdrive

Selenium - Fonksiyonlar

FindElement(By by) Bu method işlem sırasında 'implicit wait' i bekler. Yani aradığı elementi implicit wait ne kadar verildiyse o kadar süre için arar, bulamazsa timeout olur,  NoSuchElementException hatası verir. FindElements(By by) Birşey bulamazsa boş liste döndürür. Bir sayfadaki bütün linkleri bulabilirsin, linkler dediği yere gidiyor mu, aktif link mi, vs. findElement.getAttribute("attribute name") Element in verilen attribute unu getirir. Yoksa boş döndürür. String value = driver.findElement(By.name("btnK")).getAttribute("value"); System.out.println("Value of search button: " + value); Value of search button: Google'da Ara findElement.getCssValue("css property") Verilen CSS özelliğinin değerini getirir; font size, renk, arka plan rengi gibi. F12 ye bastığında style kısmında dönen sonuçları doğrulatabilirsin. WebElement searchbutton = driver.findElement(By.name("btnK"

Selenium- WebDriver, WebElement

WebDriver Web tarayıcısını test etmeye yarayan instance. WebDriver driver; driver = new FirefoxDriver(); driver.get("https://www.google.com"); Web uygulamasını test etme : Web tarayıcısını kontrol etme, element bulma ve debugging yapmayı gerektirir.  Web tarayıcısını kontrol etmeye yarayanlar: get navigate close manage switchTo quit Web elementi seçme findElement findElements click ... Debugging getTitle getCurrentUrl getWindowHandle... WebElement Web sayfasındaki elementleri bulma ve işlem yapmaya yarar. By sınıfını kullanır. WebElement element = driver.findElement(By.id("Lid")); By daki element locatorlar: id name classname tagname cssSelector linkText partialLinkText xpath

Selenium - Java2

Inheritance: In Java, it is possible to inherit attributes and methods from one class to another. We group the "inheritance concept" into two categories: subclass  (child) - the class that inherits from another class superclass  (parent) - the class being inherited from To inherit from a class, use the  extends  keyword. In the example below, the  Car  class (subclass) inherits the attributes and methods from the  Vehicle  class (superclass): Example class  Vehicle {    protected   String  brand =  "Ford" ;          // Vehicle attribute    public   void  honk() {                      // Vehicle method     System. out . println ( "Tuut, tuut!" );    } } class  Car  extends  Vehicle  {    private   String  modelName =  "Mustang" ;     // Car attribute    public   static   void  main( String [] args) {      // Create a myCar object     Car myCar =  new  Car();      // Call the honk() method (from the Vehicle class) on the myCar o

Selenium Kod Denemeleri

Google'ın Title'ını Kontrol import static org.junit.Assert.*; import java.util.concurrent.TimeUnit; import org.junit.After; import org.junit.Before; import org.junit.Test; import org.openqa.selenium.firefox.FirefoxDriver; import org.openqa.selenium.WebDriver; //import static org.junit.Assert.assertEquals; public class VerifyTitle_Google {     private WebDriver driver;     @Before     public void setUp() throws Exception {         System.setProperty("webdriver.gecko.driver","C:\\Selenium\\geckodriver-v0.23.0-win64\\geckodriver.exe");//mozillanin herseyine gecko yazican         driver = new FirefoxDriver();         driver.manage().timeouts().implicitlyWait(10,TimeUnit.SECONDS);     }     @After     public void tearDown() throws Exception {         driver.quit();//sayfayi kapatiyor hemen testten sonra     }     @Test     public void test() {                         driver.get("https://www.google.com/");            

Selenium - CSS Kodları

CSS CSS bildirim ve seçici olmak üzere ikiye ayrılır. Bir stili uygulayabilmek için bir XHTML/HTML’de element veya elementleri seçmek gerekir. div { margin-left : 10px ; } div  css seçici , [margin-left: 10px] ise bildirimdir. Bildirimler özellik ve değerden oluşur. margin-left özellik; 10px ise değerdir. Değerin sonuna ; konularak diğer bildirime geçilir. Her seçici yazıldıktan sonra { ile başlar } kapatılır. {} içinde bildirimler yer alır. Css kullanırken farklı yöntemler var. Bunlar: Tag with attribute Id Tag with Id Tag and class attribute Class attribute Inner Text CSS Kombinasyonları Tag with attribute Html Kodu < input id = "Lid" ..... name="userauth" > Selenium Kodu driver.findElement(By.cssSelector("input[name='userauth']")); Id Html Kodu <input id = " Lid " ..... > Selenium Kodu driver.findElement(By.cssSelector("#Lid")); Tag with Id Html Kodu < input

Selenium - XPath Kodları

XPath, XML Path Absolute XPath: root node u verir ve / ile başlar Elementin path inde herhangi bir değişiklik yapılırsa, test kodu hata verir. Örn:  html/body/div[1]/section/div[1]/div/div/div/div[1]/div/div/div/div/div[3]/div[1]/div/h4[1]/b Relative XPath: xml dokümanındaki elementi verir ve // ile başlar Örn : //*[@class='featured-box']//*[text()='Testing'] XPath Kombinasyonları: Belli bir tagin belli bir attribute değeri ile kullanımı Herhangi bir tag in belli bir attribute değeri ile kullanımı "and" operatörü "or" operatörü Belirli bir değer ile başlayan attribute Metnin bir kısmını içeren attribute Sadece text() Herhangi bir attribute un değeri Belli Bir Tag'ın Belli Bir Attribute Değeri ile Kullanımı (Specific tag with specific attribute value) Html Kodu < input   id = "Lid"  .....   > input:tag adı (etiket adı) id : attribute Lid : attribute değeri Selenium Kodu driver.findElement(By.x

Selenium - Fonksiyonlar(FindElements, WindowHandle,...)

findElements(BY by); Bir sayfada birden fazla bulmak istediğin element varsa bunu kullanabilirsin. Mesela google arama sayfasındaki sonuç linklerini bulup saymak gibi. package Methods; import java.util.List; import java.util.concurrent.TimeUnit; import org.junit.After; import org.junit.Before; import org.junit.Test; import org.openqa.selenium.By; import org.openqa.selenium.WebDriver; import org.openqa.selenium.WebElement; import org.openqa.selenium.firefox.FirefoxDriver; public class FindElementsWhiztrial { private WebDriver driver; private String BaseUrl; @Before public void setUp() throws Exception { System.setProperty("webdriver.gecko.driver","C:\\Selenium\\geckodriver-v0.23.0-win64\\geckodriver.exe");   driver = new FirefoxDriver();   driver.manage().window().maximize();   driver.manage().timeouts().implicitlyWait(30, TimeUnit.SECONDS);   BaseUrl = "http://localhost/whizTrial/"; } @After public voi