Cài đặt Selenium WebDriver Java

Như ở bài trước mình đã giới thiệu với các bạn tổng quan về Selenium. Hôm nay mình sẽ đi vào hướng dẫn cụ thể cách cài đặt của Selenium WebDriver Java.

1. Cài đặt thư viện Selenium Webdriver vào Eclipse

Để viết được automation test với Selenium Webdriver, chúng ta cần những thứ sau:

  • Java => tất nhiên rồi, mình đang chuẩn bị học Selenium Webdriver với Java mà ^^. Các bạn có thể sử dụng Java 8 trở lên, riêng mình quen dùng Java 8 nên sẽ download Java 8. Để đạt được kết quả tốt, các bạn cần nắm được Java Core, không cần phải giỏi, nhưng OOP (hướng đối tượng) là thứ cần tìm hiểu.

  • Công cụ hỗ trợ code, ở đây mình sẽ sử dụng Eclipse, các bạn có thể sử dụng bất cứ IDE nào khác như Intellij IDEA hoặc là Atom. Tuy nhiên mình dùng Eclipse vì nó nhẹ :P

  • Driver của browser: tức là mỗi loại browser, khi muốn chạy nó thì cần 1 loại driver tương ứng, đúng như tên gọi nó giống như là bác tài để vận hành nó. Ví dụ Chrome thì phải dùng chromedriver, Firefox thì dùng geckodriver. Trong các ví dụ mình chỉ dùng Chrome và chromedriver để demo. Vì nó có sẵn trong má, sau này khi các bạn muốn run các loại Browser khác hay multiBrowser, chỉ cần áp dụng đúng nguyên tắc là được.

  • Tất nhiên mình cũng cần cài đặt Browser đó trong máy (máy mình có sẵn Chrome )

Link download sẽ được đặt ở cuối bài, còn hyperlink sẽ chèn trong bài viết


A. Cài đặt Chrome Browser

Đầu tiên, chúng ta cài đặt Chrome Browser ở trang chủ
Có khi máy các bạn đã có sẵn ấy chứ. Một lưu ý cực kì quan trọng là sau bước này, các bạn phải tiến hành check version của Chrome để tải chromedriver cho đúng, nếu không sẽ phát sinh lỗi khi run script. Gõ vào chrome://settings/help để tiến hành kiểm tra Chrome Version

[Selenium Java] Lesson 4: Cài đặt môi trường Selenium với Java | Anh Tester


B. Download Chrome Driver

Cuối cùng là tải về Chrome Driver, click vào đây


[Selenium Java] Lesson 4: Cài đặt môi trường Selenium với Java | Anh Tester

Các bạn phải tải về đúng với version của Chrome hoặc lớn hơn mà mình đang dùng nhé


[Selenium Java] Lesson 4: Cài đặt môi trường Selenium với Java | Anh Tester

Sau khi tải về, các bạn giải nén ra, sẽ ra một  tập tin tên là chromedriver.exe (trên Window), còn trên MAC là chromedriver

[Selenium Java] Lesson 4: Cài đặt môi trường Selenium với Java | Anh Tester


Nhớ lưu ý đường dẫn của nó, ví dụ mình đang bỏ ở ổ đĩa C và trong thư mục tên là Webdriver thì đường dẫn là C:\Webdriver\chromedriver.exe


C. Bước cuối cùng - tạo một project và add Selenium Webdriver vào

Trước hết, chúng ta hãy tải Selenium Webdriver về máy đã
Đây là link tải về : https://www.selenium.dev/downloads/

Đây là 1 file có đuôi là *.jar, hãy nhớ đường dẫn của nó

Sau đó chúng ta mở Eclipse lên, tạo một project mới 


[Selenium Java] Lesson 4: Cài đặt môi trường Selenium với Java | Anh Tester


Đặt tên cho Project đó, nhớ chọn JDK đúng với Version Java của mình 

[Selenium Java] Lesson 4: Cài đặt môi trường Selenium với Java | Anh Tester

Sau khi tạo Project Java xong, tới một bước quan trọng là bỏ library của Selenium Webdriver vào Project, để nó có thể chạy được các command của Webdriver

Ấn chuột phải vào Project, sau đó chọn Properties


[Selenium Java] Lesson 4: Cài đặt môi trường Selenium với Java | Anh Tester

 

Chọn Java Build Path => Libraries => click chọn Classpath  => Add External Jar => Browser tới cái file jar đã download bên trên

[Selenium Java] Lesson 4: Cài đặt môi trường Selenium với Java | Anh Tester

Nếu ra kết quả, xuất hiện một Referenced Library giống hình, là ta đã thành công
 
[Selenium Java] Lesson 4: Cài đặt môi trường Selenium với Java | Anh Tester

Hoàn tất quá trình Add thư viện Selenium vào Eclipse.


2. Chạy code Auto đầu tiên

Nào bắt đầu thôi, trước tiên hãy tạo một class mới, bằng cách click chuột phải vào src, sau đó chọn New = > Class

Cấu trúc thư mục hiển thị trên phần Explorer của Eclipse (IDE) giống như trong Window vậy, đồng cấp tức là chung thư mục, ở đây src là cha, thì nếu ta tạo 1 Class tên là FirstDemo, SecondDemo thì 2 class này nằm trong thư mục src. Ở đây src được gọi là source folder. Cấu trúc và cách phân lớp nó mình sẽ nói sau, tạm thời ta cứ tạo một Class tên là FirstDemo nằm trong src để chạy thử trước nhé
[Selenium Java] Lesson 4: Cài đặt môi trường Selenium với Java | Anh Tester



Lúc tạo Class các bạn tạo luôn 1 package tên là test - như hình, package chính là thư mục chứa file Class FirstDemo của chúng ta
[Selenium Java] Lesson 4: Cài đặt môi trường Selenium với Java | Anh Tester

Sau khi tạo xong class, IDE sẽ auto generate cho chúng ta một đoạn script có dạng như sau

package test;

public class FirstDemo {

	public static void main(String[] args) {
		// TODO Auto-generated method stub

	}

}

 

Tiếp đến , Selenium WebDriver sẽ cần biết đâu là tệp thực thi mà bạn có, bởi vì, như đã nói ở bài trước, chúng ta cần chromedriver.exe để chạy Chrome browser, tương tự với geckodriver.exe cho Firefox browser.

Chúng ta thực hiện việc này bằng cách sử dụng lệnh: System.setProperty()

Đây là keyword cần phải nhớ "webdriver.chrome.driver"

Trong khi c:\\chromedriver.exe là đường dẫn chứa file chromedriver.exe mà chúng ta đã tải về ở bài trước 

Cú pháp sẽ là:
System.setProperty("webdriver.chrome.driver", "c:\\chromedriver.exe");

 

Sau đó lại khởi tạo biến instance cho driver là "driver"  (các bạn đặt tên tùy ý)

WebDriver driver = new ChromeDriver();

Lúc này hãy xem script của chúng ta, có vấn đề, IDE sẽ báo lỗi vì nó không hiểu WebDriver là gì, làm sao mà tạo được instance từ nó được. 

[Selenium Java] Lesson 4: Cài đặt môi trường Selenium với Java | Anh Tester

 

Để giải quyết vấn đề này, chúng ta có một số cách như sau:
1. Nhấn Ctrl + Shift + O để IDE import thư viện vào
2. Click chuột trái vào chỗ mình đánh dấu trên hình, chọn import WebDriver, sau đó vẫn còn lại lỗi tương tự thì ta lặp lại thao tác để import nốt ChromeDriver là xong. Cách này hơi lằng nhằng vì phải ấn chuột mấy lần, vẫn dùng Ctrl + Shift + O cho nhanh. Tuy nhiên nó vẫn có ưu điểm của nó, đến phần cài đặt TestNG mình sẽ giải thích

Sau khi import, đây là đoạn script:

package test;

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

public class FirstDemo {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		
	    System.setProperty("webdriver.chrome.driver", "c:\\chromedriver.exe");
	 
	    WebDriver driver = new ChromeDriver();


	}

}

Sau khi đã hoàn tất hết, chúng ta dùng phương thức get(); để đi đến site https://anhtester.com

driver.navigate().to("https://anhtester.com");
(Hoặc dùng lệnh khác tương tự, ở buổi sau mình sẽ hướng dẫn cụ thể hơn các lệnh cơ bản trong Selenium Webdriver)

Phương thức get(); nhận tham số là một chuỗi URL nhé. Mình sẽ hướng dẫn các bạn đọc Document của Selenium để biết cách dùng các phương thức (hàm) của nó. Để sau này có thể tự đọc các Framework khác.

Mở một trang web chỉ gói gọn trong 1 dòng đó thôi. Tại đây các bạn có thể nhấn Ctrl + F11 để run thử, nếu browser được mở lên và đi đến https://anhtester.com, có nghĩa là bạn đã làm đúng.

Mình sử dụng một loạt các phương thức khác, để thực thi kịch bản ghi ở trên:

        //1 - Maximize browser của mình
        driver.manage().window().maximize();

        //2 - Đi đến 1 url
        
        driver.navigate().to("https://anhtester.com");

        //3 - Lấy Title và in ra console
        
        System.out.println(driver.getTitle());

        // Thoát hẳn Browser

        driver.quit();

 

Như vậy chúng ta đã có một class hoàn chỉnh sau khi ghép đầy đủ các đoạn script trên với nhau, ấn Ctrl + F11 hoặc click vào nút Run trên IDE để chạy Selenium nào.

[Selenium Java] Lesson 4: Cài đặt môi trường Selenium với Java | Anh Tester

Quan sát và chờ kết quả, Browser sẽ thực thi y hệt như những gì chúng ta nói trên, bên phải Console đã in ra Title của Page Anh Tester, chúng ta đã thành công... Wohoooo

[Selenium Java] Lesson 4: Cài đặt môi trường Selenium với Java | Anh Tester

  • Anh Tester

    Đường dẫu khó chân vẫn cần bước đi
    Đời dẫu khổ tâm vẫn cần nghĩ thấu