2 Ağustos 2018 Perşembe

Selenium WebDriver Arayüzü

Giriş
Şu satırı dahil ederiz.
import org.openqa.selenium.WebDriver;
Chrome için şu satırı dahil ederiz.
import org.openqa.selenium.chrome.ChromeDriver;
Her Driver aynı zamanda JavaScripExecutor'a çevrilebilir.

constructor - Chrome
Örnek
Şöyle yaparız.
System.setProperty("webdriver.chrome.driver","C:\Selenium\\browser\\chromedriver.exe");
WebDriver driver =  new ChromeDriver();
Örnek
Burada Chrome Driver'ın path'ini veriyoruz. Chrom kurulumunu değil! Şu kod yanlış
System.setProperty("webdriver.chrome.driver", "C:\\Program Files (x86)\\Google\\Chrome\\
  Application\\chrome.exe");
WebDriver driver = new ChromeDriver();
Şöyle yaparız.
System.setProperty("webdriver.chrome.driver", "C:\\path\\to\\chromedriver.exe");
WebDriver driver = new ChromeDriver();
findElement metodu
Şu satırı dahil ederiz.
import org.openqa.selenium.By;
Python ayrı byXXX metodları kullandığı için bence daha okumaklı. Şöyle yaparız. Java da ise By.XXX şeklinde kullanılır.
chromedriver = webdriver.Chrome()
...
elem = chromedriver.find_element_by_class_name("twelve-days-claim")

elem2 = chromedriver.find_element_by_class_name("login-popup")

username = chromedriver.find_element_by_css_selector("div[id*='form-login']
  [id='login-form-email'] input")
Örnek - id
Şöyle yaparız.
driver.findElement(By.id("ap_email")).click();
Örnek - linkText
Şöyle yaparız
WebElement functionAnchor = driver.findElement(By.linkText(functionName));
Örnek - name
Şöyle yaparız.
driver.findElement(By.name("username")).sendKeys("name.surname");
driver.findElement(By.name("password")).sendKeys("Huhuhu");
Örnek - tagName
Şöyle yaparız.
driver.findElement(By.tagName("body")).sendKeys(Keys.CONTROL + "t");
Örnek - xpath
Şöyle yaparız.
driver.findElement(By.xpath("//a [@href='https://www.snapdeal.com/login']")).click();
findElements metodu
Açıklaması şöyle.
This method is affected by the 'implicit wait' times in force at the time of execution. When implicitly waiting, this method will return as soon as there are more than 0 items in the found collection, or will return an empty list if the timeout is reached.
Elimizde bir XPath olsun.
String path = "/html/body/div/div[3]/tr[1]/th";
Şöyle yaparız.
List <WebElement> pagination= driver.findElements(By.xpath(path));
get metodu
Şöyle yaparız.
driver.get("https://www.snapdeal.com/");
getWindowHandle metodu
Şöyle yaparız.
String parentWindowHandler=driver.getWindowHandle();// Store your parent window
getWindowHandles metodu
Şöyle yaparız.
//store parent window value in string
String parentWindow = driver.getWindowHandle();

//store the set of all windows
Set<String> allwindows= driver.getWindowHandles();

for (String childWindow : allwindows) {
  if(!childWindow.equals(parentWindow))
  {
    driver.switchTo().window(childWindow);
    System.out.println("child window");
    System.out.println(driver.getTitle());      
    // do some operation
    //Closing the Child Window.
    driver.close();    
  }
}
driver.switchTo().window(parentWindow);
manage metodu
Şöyle yaparız.
driver.manage().window().maximize();
Şöyle yaparız.
driver.manage().timeouts().implicitlyWait(10, TimeUnit.SECONDS);
navigate metodu
Şöyle yaparız.
driver.navigate().back();
quit metodu
Şöyle yaparız.
driver.quit();
switchTometodu
Örnek
Şöyle yaparız.
driver.switchTo().frame("iframeResult");
Örnek
Şöyle yaparız.
Set<String> handles = driver.getWindowHandles(); // get all window handles
Iterator<String> iterator = handles.iterator();
while (iterator.hasNext()){
  subWindowHandler = iterator.next();
}

driver.switchTo().window(subWindowHandler); // switch to popup window

Hiç yorum yok:

Yorum Gönder