- Intellij IDEA'da java ile yazılmıştır. Gmail'e giriş ve hemen çıkış işlemini yapmaktadır. Giriş işleminin yapıldığını 'Gelen Kutusu' elementini bularak, çıkış işleminin yapıldığını ise şifre alanını bularak kontrol etmektedir.
import org.junit.After;
import org.junit.Assert;
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;
import org.openqa.selenium.support.ui.ExpectedConditions;
import org.openqa.selenium.support.ui.WebDriverWait;
public class GmailSigninTest {
private WebDriver driver;
@Before
public void setUp(){
System.setProperty("webdriver.gecko.driver","C:\\Selenium\\geckodriver-v0.23.0-win64\\geckodriver.exe");
driver = new FirefoxDriver();
}
@Test
public void gmailLoginShouldBeSuccessful(){
driver.get("http://gmail.com");
WebElement usernameTextbox = driver.findElement(By.id("identifierId"));
usernameTextbox.clear();//kullanici adi alanini temizliyor
usernameTextbox.sendKeys("mail@gmail.com");//kullanici adi alanina mailinizi yaziyor
WebElement usernameClick = driver.findElement(By.xpath("/html/body/div[1]/div[1]/div[2]/div[2]/div/div/div[2]/div/div[2]/div/div[1]/div/content"));
usernameClick.click();//ileri tusuna basiyor
WebDriverWait wait = new WebDriverWait(driver,30);
wait.until(ExpectedConditions.visibilityOfAllElementsLocatedBy(By.xpath("//input[contains(@type,'password')]")));//burada sifre alaninin yuklenmesine kadar bekliyor ki elementi bulamadigina dair hata vermesin
WebElement passwordTextbox = driver.findElement(By.xpath("//input[contains(@type,'password')]"));
passwordTextbox.clear();//sifre alanini temizliyor
passwordTextbox.sendKeys("mailşifresi");//sifre alanına sifrenizi yazdiriyor
WebElement passwordClick = driver.findElement(By.xpath("//span[contains(@class,'RveJvd snByac')]"));
passwordClick.click();//giris e tikliyor
//Aşağıda findElements kullanılmasının sebebi gelen kutusunun bir tabloya bağlı olması, bu tabloda bulunan en az bir element olmalı o da gelenkutusu, div/span/a
// olarak belirtildiğinde link oluyor(linkage), bunda partialLinkText kullanılabilir
wait.until(ExpectedConditions.visibilityOfAllElementsLocatedBy(By.partialLinkText("Gelen Kutusu")));//gelen kutusu yuklenene kadar bekliyor
Assert.assertTrue("Inbox should exist", driver.findElements(By.partialLinkText("Gelen Kutusu")).size() > 0);//gelen kutusunun varligiyla gerçekten giris yaptigini kontrol ediyor
WebElement profileButton = driver.findElement(By.xpath("//a[@class='gb_x gb_Da gb_f']"));
profileButton.click();//sag en ustteki profil e tikliyor
WebElement signOutLinkage = driver.findElement(By.linkText("Oturumu kapat"));
signOutLinkage.click();//profile tiklayinca acilan cikis yap butonuna tikliyor
wait.until(ExpectedConditions.visibilityOfAllElementsLocatedBy(By.xpath("//input[contains(@type,'password')]")));// şifre alani yuklenene kadar bekliyor
Assert.assertTrue("password text area should exist", driver.findElements(By.xpath("//input[contains(@type,'password')]")).size()>0);//bu fonksiyonun bulduğu bir değer olmalı ki 0 dan büyük olsun sonuç
}
@After
public void tearDown(){
driver.quit();
}
}
Yorumlar
Yorum Gönder