HomeOur Team
Bài 3: Làm quen với những câu lệnh cơ bản nhất trong Selenium WebDriver
Testing
Bài 3: Làm quen với những câu lệnh cơ bản nhất trong Selenium WebDriver
giang.ha
giang.ha
May 09, 2021
1 min

Ở bài trước chúng ta đã đi tìm hiểu về xác định element bằng XPath như thế nào. Hôm nay mình sẽ giới thiệu đến các bạn những câu lệnh selenium cơ bản nhất để có thể thực hiện test được một scenario.

1. Các lệnh cơ bản của Browser

  • close() : Đóng cửa sổ trình duyệt đang focus (single window)
driver.close();
  • quit() : Đóng tất cả các cửa số của trình duyệt (all windown)
driver.quit();
  • get(String arg0) : Navigate đến một page
driver.get("https://www.google.com/");
  • getCurrentUrl() : Trả lại chuỗi URL của page hiện tại
String homePage = driver.getCurrentUrl();
  • getTitle() : Trả lại chuỗi với tên của title tại page hiện tại
String titleHomePage = driver.getTitle();
  • getPageSource() : Dùng lấy source code của web page đang được mở trong cửa sổ trình duyệt
String sourceHomePage = driver.getPageSource();
  • navigate().back() : Quay lại trang trước đó
driver.navigate().back();
  • navigate().forward() : Đi đến trang tiếp theo
driver.navigate().forward();
  • Một vài scenario đơn giản các bạn có thể copy vào project để run
package webdriver;

import java.util.concurrent.TimeUnit;

import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.firefox.FirefoxDriver;
import org.testng.Assert;
import org.testng.annotations.AfterClass;
import org.testng.annotations.BeforeClass;
import org.testng.annotations.Test;

public class Demo_Selenium_Browser {
    WebDriver driver;

    @BeforeClass
    public void beforeClass() {
        System.setProperty("webdriver.gecko.driver", ".\\BrowserDrivers\\geckodriver.exe");
        driver = new FirefoxDriver();
        driver.manage().window().maximize();
        driver.manage().timeouts().implicitlyWait(30, TimeUnit.SECONDS);
    }

    @Test
    public void TC_01_Verify_Url() {
        driver.get("http://live.demoguru99.com/");
        driver.findElement(By.xpath("//div[@class='footer']//a[@title='My Account']")).click();
        String url = "http://live.demoguru99.com/index.php/customer/account/login/";
        Assert.assertEquals(driver.getCurrentUrl(), url);
        driver.findElement(By.xpath("//span[contains(text(),'Create an Account')]")).click();
        Assert.assertEquals(driver.getCurrentUrl(), "http://live.demoguru99.com/index.php/customer/account/create/");
    }

    @Test
    public void TC_02_Verify_Title() {
        driver.get("http://live.demoguru99.com/");
        driver.findElement(By.xpath("//div[@class='footer']//a[@title='My Account']")).click();
        Assert.assertEquals(driver.getTitle(), "Customer Login");
        driver.findElement(By.xpath("//span[contains(text(),'Create an Account')]")).click();
        Assert.assertEquals(driver.getTitle(), "Create New Customer Account");
    }

    @Test
    public void TC_03_Navigate_Function() {
        driver.get("http://live.demoguru99.com/");
        driver.findElement(By.xpath("//div[@class='footer']//a[@title='My Account']")).click();
        Assert.assertEquals(driver.getTitle(), "Customer Login");
        driver.findElement(By.xpath("//span[contains(text(),'Create an Account')]")).click();
        Assert.assertEquals(driver.getCurrentUrl(), "http://live.demoguru99.com/index.php/customer/account/create/");
        driver.navigate().back();
        Assert.assertEquals(driver.getCurrentUrl(), "http://live.demoguru99.com/index.php/customer/account/login/");
        driver.navigate().forward();
        Assert.assertEquals(driver.getTitle(), "Create New Customer Account");
    }

    @Test
    public void TC_04_Get_Page_Source_Code() {
        driver.get("http://live.demoguru99.com/");
        driver.findElement(By.xpath("//div[@class='footer']//a[@title='My Account']")).click();
        Assert.assertTrue(driver.getPageSource().contains("Login or Create an Account"));
        driver.findElement(By.xpath("//span[contains(text(),'Create an Account')]")).click();
        Assert.assertTrue(driver.getPageSource().contains("Create an Account"));
        Assert.assertFalse(driver.getPageSource().contains("Login or Create an Account"));
    }

    @AfterClass
    public void afterClass() {
        driver.quit();
    }

}
  • Video run script

2. Các lệnh cơ bản Element

  • clear(): Xóa giá trị tại element
driver.findElement(By.id("a").clear();
  • click(): Click vào 1 element
driver.findElement(By.id("a").click();
  • getAttribute(String arg0): Trả về giá trị thuộc tính của element
WebElement submitButton = driver.findElement(By.id("a"));
System.out.println("Name of the button is:" + submitButton.getAttribute("name"));
  • getText(): Trả về text của element
String textTitle = driver.findElement(By.id("a")).getText();
  • senKeys(): Input 1 chuỗi giá trị vào element
driver.findElement(By.id("a")).senKeys("abc");
  • isDisplayed(): Kiểm tra 1 element có được hiển thị hoặc không trước khi thực thi lệnh
WebElement submitButton = driver.findElement(By.id("a"));
if(submitButton.isDisplayed(){
     submitButton.click();
}
  • isEnabled(): Kiểm tra 1 element có được enable hoặc không trước khi thực thi lệnh
WebElement submitButton = driver.findElement(By.id("a"));
if(submitButton.isEnableld(){
     submitButton.click();
}
  • isSelected(): Kiểm tra 1 element có được chọn hoặc không trước khi thực thi lệnh( thường kiểm tra checkbox, radiobutton, dropdown)
WebElement checkboxButton = driver.findElement(By.id("a"));
if(checkboxButton.isSelected(){
     checkboxButton.click();
}
  • submit() == click(): Sử dụng khi submit 1 form
driver.findElement(By.id("uername")).senKeys("abc");
driver.findElement(By.id("password")).senKeys("1234");
driver.findElement(By.id("submit")).submit();
  • Một vài scenario về isDisplayed/isEnable/isSelected đơn giản các bạn có thể copy vào project để run
public class Demo_Selenium_Element {
    WebDriver driver;

    @BeforeClass
    public void beforeClass() {
        System.setProperty("webdriver.gecko.driver", ".\\BrowserDrivers\\geckodriver.exe");
        driver = new FirefoxDriver();
        driver.manage().window().maximize();
        driver.manage().timeouts().implicitlyWait(30, TimeUnit.SECONDS);
    }

    @Test
    public void TC_01_isDisplay() {
        driver.get("https://automationfc.github.io/basic-form/index.html");
        boolean emailTextbox = driver.findElement(By.cssSelector("#mail")).isDisplayed();
        if (emailTextbox == true) {
            driver.findElement(By.cssSelector("#email")).sendKeys("Automation Testing");
            System.out.println("Email textbox is displayed");
        } else {
            System.out.println("Email textbox isn't displayed");
        }

    }

    @Test
    public void TC_02_Enabled_and_Disabled() {
        driver.get("https://automationfc.github.io/basic-form/index.html");
        boolean emailTextbox = driver.findElement(By.cssSelector("#mail")).isEnabled();
        if (emailTextbox == true) {
            System.out.println("EmailTextbox is enabled");
        } else {
            System.out.println("EmailTextbox is disable");
        }
    }

    @Test
    public void TC_03_Selected() {
        driver.get("https://automationfc.github.io/basic-form/index.html");
        driver.findElement(By.xpath("//label[contains(text(),'Under 18')]")).click();
        driver.findElement(By.cssSelector("#java")).click();

        boolean ageUnder18 = driver.findElement(By.xpath("//label[contains(text(),'Under 18')]")).isSelected();
        if (ageUnder18 == true) {
            System.out.println("Age Uder 18 is selected");
        } else {
            System.out.println("Age Uder 18 is de-selected");
        }
    }

    @AfterClass
    public void afterClass() {
        driver.quit();
    }

}

  • Video run script

Link tham khảo: https://automationfc.vn/


Tags

202104testingautomationseleniumwebdriver
giang.ha

giang.ha

Tester / iOS Developer

Expertise

tester
ios

Related Posts

Giới thiệu Automation test cho mobile
Giới thiệu Automation test cho mobile
March 26, 2021
4 min
Garbage collector – Trình thu gom rác trong java
Articles
Garbage collector – Trình thu gom rác trong java
April 06, 2021
3 min
© 2021, All Rights Reserved.

Quick Links

HomeOur Team

Social Media