VietTuts

Tự Học Lập Trình Online

  • Home
  • Java
  • Servlet
  • JSP
  • Struts2
  • Hibernate
  • Spring
  • MyBatis
  • Java WS
  • C
  • C++
  • C#
  • Python
  • PHP
  • Excel
  • VBA
  • Web
    • JavaScript
    • JQUERY
    • JSON
    • AJAX
    • CSS
    • HTML
    • HTML5
    • Node.js
    • Angular 7
  • SQL
    • MySQL
    • SQL Server
  • Misc
    • Eclipse
    • Phần mềm tiện ích
    • Cấu trúc DL&GT
    • Selenium Test

Học Selenium - Automation Test

Kiểm thử tự động là gì? Automation Testing Selenium là gì? Các lệnh trong Selenium IDE – “Selenese” Giới thiệu Selenium Webdriver Selenium WebDriver Locators – xác định vị trí phần tử HTML

Tương Tác Người Dùng

Tương tác người dùng Tương tác Text Box Tương tác Radio Button Tương tác Check Box Tương tác Drop Down Ví dụ kéo thả trong Selenium Thao tác bàn phím Thao tác chuột Chọn nhiều hạng mục Tìm tất cả Link

Selenium WebDriver Nâng Cao

Page Object Model (POM) Selenium WebDriver Page Factory trong Selenium WebDriver XPath trong Selenium WebDriver Inject JQuery trong Selenium WebDriver
1 / 3
❮ ❯

Giới thiệu Selenium Webdriver


Các lệnh trong Selenium IDE – “Selenese”
Selenium WebDriver Locators – xác định vị trí phần tử HTML

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.

Nội dung chính

  • Kiến trúc
  • Ví dụ sử dụng Selenium Webdriver
  • Các lệnh phổ biến trong Selenium WebDriver

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:\\SeleniumWebdriver\\chromedriver.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”
Selenium WebDriver Locators – xác định vị trí phần tử HTML

Recent Updates

Sắp Tết 2024 Rồi! - Còn bao nhiêu ngày nữa là đến tết 2024?Selenium Test là gì? - Kiểm thử tự độngCác lệnh trong Selenium IDE - “Selenese”Chọn nhiều hạng mục trong SeleniumGiới thiệu Selenium WebdriverInject JQuery trong Selenium WebDriverKéo và thả trong SeleniumMouse actions trong SeleniumPage Factory trong SeleniumPage Object Model (POM) trong SeleniumSelenium WebDriver - Tương tác CheckBoxSelenium WebDriver - Tương tác Drop DownSelenium WebDriver - Tương tác người dùng

VietTuts on facebook

Học Lập Trình Online Miễn Phí - VietTuts.Vn
Danh Sách Bài Học

Học Java | Hibernate | Spring
Học Excel | Excel VBA
Học Servlet | JSP | Struts2
Học C | C++ | C#
Học Python
Học SQL

Bài Tập Có Lời Giải

Bài tập Java
Bài tập C
Bài tập C++
Bài tập C#
Bài tập Python
Ví dụ Excel VBA

Câu Hỏi Phỏng Vấn

201 câu hỏi phỏng vấn java
25 câu hỏi phỏng vấn servlet
75 câu hỏi phỏng vấn jsp
52 câu hỏi phỏng vấn Hibernate
70 câu hỏi phỏng vấn Spring
57 câu hỏi phỏng vấn SQL

Scroll back to top

Copyright © 2016 VietTuts.Vn all rights reserved. | Liên hệ | Chính sách - riêng tư | sitemap.html | sitemap_index.xml