Giriş
Şu satırı dahil ederiz.
Genel Kullanım
Şu satırı dahil ederiz.
import org.openqa.selenium.WebDriver;
Her Driver aynı zamanda JavaScripExecutor'a çevrilebilir.Genel Kullanım
Örnek
Şöyle yaparız
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.chrome.ChromeDriver;
public class BrowserSelection {
static WebDriver driver;
public static WebDriver usingChrome() {
System.setProperty("webdriver.chrome.driver",
"E:\\SeleniumLibs\\\\chromedriver_win32\\chromedriver.exe");
driver = new ChromeDriver();
driver.manage().window().maximize();
return driver;
}
}
public class MakeMyTripDateTest {
WebDriver driver;
@BeforeMethod
public void openBrowser(){
driver = BrowserSelection.usingChrome();
}
@AfterMethod
public void closeBrowser(){
driver.quit();
}
}
constructor - Chrome
Chrome için şu satırı dahil ederiz.import org.openqa.selenium.chrome.ChromeDriver;
Testi başlatmadan önce setUp() kısmında System.setProperty() çağrısı ile webdriver.chrome.driver değişkenini atamak gerekir.
Örnek
Şöyle yaparız.Örnek
System.setProperty("webdriver.chrome.driver",
"C:\Selenium\\browser\\chromedriver.exe");
WebDriver driver = new ChromeDriver();
ÖrnekBurada 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();
Örnek - ChromeOptionsŞöyle yaparız.
import org.openqa.selenium.chrome.ChromeDriver;
import org.openqa.selenium.chrome.ChromeOptions;
public class W3c {
public static void main(String[] args) throws Exception {
ChromeOptions opt = new ChromeOptions();
opt.setExperimentalOption("w3c", true);
ChromeDriver driver = new ChromeDriver(opt);
driver.get("https://www.google.co.in");
}
}
constructor - FirefoxŞu satırı dahil ederiz.
import org.openqa.selenium.firefox.FirefoxDriver;
Örnek
Şöyle yaparız
System.setProperty(FirefoxDriver.SystemProperty.BROWSER_LOGFILE, "null");
System.setProperty("webdriver.gecko.driver", "C:\\Selenium\\Drivers\\geckodriver.exe");
driver = new FirefoxDriver();
constructor - EdgeŞu satırı dahil ederiz.
import org.openqa.selenium.edge.EdgeDriver;
Testi başlatmadan önce setUp() kısmında System.setProperty() çağrısı ile webdriver.edge.driver değişkenini atamak gerekir.Örnek
Şöyle yaparız.
System.setProperty("webdriver.edge.driver", "C:\\Users\\Foo\\Downloads\\
MicrosoftWebDriver.exe");
WebDriver driver = new EdgeDriver();
Örnek - RemoteWebDriver
Şöyle yaparız
import org.openqa.selenium.remote.RemoteWebDriver;/*WebDriverManager.chromedriver().setup();driver = new ChromeDriver();*/DesiredCapabilities capabilities = new DesiredCapabilities();capabilities.setCapability("build", "[Java] ...");capabilities.setCapability("name", "[Java] ...");capabilities.setCapability("platform", "Windows 10");capabilities.setCapability("browserName", "Chrome");capabilities.setCapability("version","85.0");capabilities.setCapability("tunnel",false);capabilities.setCapability("network",true);capabilities.setCapability("console",true);capabilities.setCapability("visual",true);WebDriver driver = new RemoteWebDriver(new URL("http://..."), capabilities);
findElement metodu
Şu satırı dahil ederiz. WebElement nesnesi döner.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")
Selenium By Sınıfı yazısına taşıdım.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.Örnek
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));
ÖrnekŞöyle yaparız.
List<WebElement> options = driver.findElements(by.xpath(" your locator"));
for(WebElement element : options){
if(element.getText().equals(" your value from drop down")){
element.click();
}
}
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Örnek
Şöyle yaparız.
// Store the current window handle
String mainWin = driver.getWindowHandle();
// Perform the click operation that opens new window
//Wait till driver.getWindowHandles() returns 2 windows
// Switch to new window opened
for(String winHandle : driver.getWindowHandles()){
driver.switchTo().window(winHandle);
}
//Get current window to take decision on the next actions
String currentWin= driver.getWindowHandle();
// Perform the actions on new window
// Close the new window
driver.close();
// Switch back to original first window
driver.switchTo().window(mainWin);
ÖrnekŞö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 metoduWebDriver.Options Arayüzü döndürür.
navigate metodu
Şöyle yaparız.
driver.navigate().back();
quit metoduŞöyle yaparız.
driver.quit();
switchTometodualert, frame, window için kullanılabilir.
Örnek
popup varsa şöyle yaparız.
driver.switchTo().alert().accept();
Ö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