Trong bài viết này, chúng ta sẽ sử dụng Eclipse để dùng Java viết script cho Selenium chạy
Kịch bản trong bài viết này như sau:
1. Setup đường dẫn trong code cho Webdriver
2. Khởi tạo instance cho driver
3. Đi đến một trang web bất kì
4. Maximize browser của chúng ta
5. Bật chế độ fullscreen cho browser
6. In ra console Title của page chúng ta đang mở
6. Tắt browser
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é
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
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
}
}
Nếu bạn chưa có căn bản về Java, tôi khuyên bạn nên học qua một khóa Java core căn bản để hiểu hơn
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 cho Firefox browser. Chúng ta thực hiện việc này bằng cách sử dụng System.setProperty ().
Đây là keyword cần phải nhớ "webdriver.chrome.driver," là keyword
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
System.setProperty("webdriver.chrome.driver", "c:\\chromedriver.exe");
Sau đó lại khởi tạo instance cho driver
WebDriver driver = new ChromeDriver();
Để giải quyết vấn đề này, chúng ta có một số cách như sau:
1. Nhấn Control + 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, 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 Control Shift + O cho nhanh. Tuy nhiên nó vẫn có ưu điểm của nó, đến phần 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://course.devforum.info/
driver.get("https://course.devforum.info/");
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 FW 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 Control + F11 để run thử, nếu browser được mở lên và đi đến https://course.devforum.info/, 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 - Chuyển qua chế độ fullscreen
driver.manage().window().fullscreen();
//3 - Lấy Title và in ra console
System.out.println(driver.getTitle());
// Quit Browser
driver.quit();
Như vậy chúng ta sẽ có một class hoàn chỉnh sau khi ghép đầy đủ các đoạn script trên với nhau, ấn Control + F11 hoặc click vào nút play trên IDE để chạy Selenium nào
Quan sát và chờ kết quả, Browser sẽ thực thi hệt như những gì chúng ta nói, bên phải Console đã in ra Title của Page Devforum, chúng ta đã thành công... Wohoooo
Bài viết sau mình sẽ hướng dẫn các bạn cách đọc document, method cũng như Refractor code lại cho gọn
Chào các bạn
Koha