11/08/2018, 19:28

Giới thiệu Selenium Webdriver

Các lệnh trong Selenium IDE – “Selenese” Selenium WebDriver tốt hơn cả Selenium IDE và Selenium RC ở nhiều khía cạnh . Nó là một cách tiếp cận hiện đại và ổn định hơn trong việc tự động hóa các hành động của trình duyệt. WebDriver, không giống như Selenium RC, không ...

Các lệnh trong Selenium IDE – “Selenese”

Selenium WebDriver tốt hơn cả Selenium IDE và Selenium RC ở nhiều khía cạnh. Nó là một cách tiếp cận hiện đại và ổn định hơn trong việc tự động hóa các hành động của trình duyệt. WebDriver, không giống như Selenium RC, không dựa vào JavaScript cho tự động hóa. Nó kiểm soát trình duyệt bằng cách giao tiếp trực tiếp với nó.

Các ngôn ngữ được hỗ trợ:

  • Java
  • C#
  • PHP
  • Python
  • Perl
  • Ruby

Selenium WebDriver thường được sử dụng trong các trường hợp sau:

  • Để sử dụng một ngôn ngữ lập trình nhất định trong việc thiết kế test case của bạn.
  • Để kiểm tra các ứng dụng có nhiều chức năng dựa trên AJAX.
  • Để thực hiện các kiểm thử trên trình duyệt HtmlUnit.
  • Để tạo kết quả kiểm thử tùy chỉnh.

Kiến trúc

WebDriver được giải thích tốt nhất với một sơ đồ kiến ​​trúc đơn giản như hình dưới đây.

Kiến trúc Selenium Webdriver

Ví dụ sử dụng Selenium Webdriver

Chúng ta sẽ sử dụng trang https://www.calculator.net/ để thực hiện “tính phần trăm (%)” nằm trong “Math Calculator”.

Trong ví dụ này, chúng ta sử dụng các công nghệ sau:

  • Eclipse Oxygen 1
  • Selenium 3.0.1
  • JDK 1.8
  • Chrome 67.0.3396.99 (Official Build) (64-bit)

Các bước thực hiện:

Step 1: Tạo Maven project trong Eclipse

Trước tiên bạn cần tạo Java Maven project trong eclipse, tham khảo bài này.

Step 2: Add Selenium Driver dependency

Sau khi tạo project bạn nên add selenium webdriver vào file pom.xml như sau:

<dependencies>
    <dependency>
        <groupId>org.seleniumhq.selenium</groupId>
        <artifactId>selenium-server</artifactId>
        <version>3.0.1</version>
    </dependency>
</dependencies>

Tải thư viện selenium webdriver: click chuột phải vào project -> Maven -> Update project…

Step 3: Tải browser driver

Đây là một bước quan trong không kém. Tải chromedriver cho trình duyệt Chrome mới nhất tại https://sites.google.com/a/chromium.org/chromedriver/downloads.

Sau khi tải về bạn nên copy và giải nén vào thư mục D:SeleniumWebdriver.

Step 4: Viết kịch bản

Bây giờ là lúc để viết code. Kịch bản sau đây khá dễ hiểu, vì nó có các chú thích đi kèm để giải thích các bước một cách rõ ràng.

package vn.viettuts.selenium;

import java.util.concurrent.TimeUnit;

import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.chrome.ChromeDriver;

public class WebDriverDemo {
    public static void main(String[] args) {
        // set chrome driver
        System.setProperty("webdriver.chrome.driver", 
                "D:SeleniumWebdriverchromedriver.exe");
        WebDriver driver = new ChromeDriver();
        
        // wait for 10 seconds before throwing exception
        driver.manage().timeouts().implicitlyWait(10, TimeUnit.SECONDS);

        // open website
        driver.get("http://www.calculator.net/");

        // Maximize the browser
        driver.manage().window().maximize();

        // Click on Math Calculators
        driver.findElement(By.xpath(".//td[3]/div[2]/a")).click();

        // Click on Percentage Calculator
        driver.findElement(By.xpath(".//a[@href='/percent-calculator.html']"
                + "[contains(text(),'Percentage Calculator')]")).click();

        // Enter value 10 in the first number of the percent Calculator
        driver.findElement(By.id("cpar1")).sendKeys("10");

        // Enter value 50 in the second number of the percent Calculator
        driver.findElement(By.id("cpar2")).sendKeys("50");

        // Click Calculate Button
        driver.findElement(By.xpath(".//*[@id = 'content']"
                + "/table[1]/tbody/tr[2]/td/input[2]")).click();

        // Get the Result Text based on its xpath
        String result = driver.findElement(
                By.xpath(".//p[@class='verybigtext']")).getText();

        // Print a Log In message to the screen
        System.out.println(" The Result is " + result);

        // Close the Browser.
        driver.close();
    }
}

Kết quả:

The Result is 10% of 50 = 5

Các lệnh phổ biến trong Selenium WebDriver

Bảng sau liệt kê một số lệnh thường dùng nhất trong WebDriver cùng với cú pháp của chúng.

No. Lệnh & Mô tả
1

driver.get(“URL”)

Để điều hướng đến một trang web.

2

element.sendKeys(“inputtext”)

Nhập một số văn bản vào input box.

3

element.clear()

Xóa nội dung khỏi input box.

4

select.deselectAll()

Bỏ chọn tất cả OPTION từ SELECT đầu tiên trên trang.

5

select.selectByVisibleText(“some text”)

Chọn OPTION với đầu vào được chỉ định bởi người dùng.

6

driver.switchTo().window(“windowName”)

Di chuyển con trỏ chuột từ cửa sổ này sang cửa sổ khác.

7

driver.switchTo().frame(“frameName”)

Chuyển từ frame này sang frame có tên hoặc id là “frameName”.

8

driver.switchTo().alert()

Xử lý alert.

9

driver.navigate().to(“URL”)

Chuyển hướng đến URL.

10

driver.navigate().forward()

Chuyển hướng đến trang tiếp theo.

11

driver.navigate().back()

Chuyển hướng về trang trước.

12

driver.close()

Đóng trình duyệt hiện tại và các liên kết đến driver.

13

driver.quit()

Thoát driver và đóng tất cả các cửa sổ liên quan đến driver đó.

14

driver.refresh()

Tải lại trang hiện tại.

Các lệnh trong Selenium IDE – “Selenese”
0