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:
-
Các bạn nên sử dụng Java 8 trở lên, trong bài hướng dẫn này An sẽ 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 không cần phải học hết, chỉ cần nắm Java basic và OOP (hướng đối tượng) là ok rồi.
-
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ó quen với nhiều người. Nhưng về sau An dùng IntelliJ chuyên nghiệp hơn.
-
Driver của browser: tức là mỗi loại browser, khi muốn chạy nó thì cần một 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 multi Browser, 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
B. Download Chrome Driver
Cuối cùng là tải về Chrome Driver, click vào đây
Các bạn phải tải về đúng với version 111.x.xxxx.xx của Chrome. Chỉ cần đúng số ở đầu 111 là được. Phần revision sau không cần đúng chính xác.
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
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/
Chọn phiên bản ở mục Java á nhen. Đây là 1 file có đuôi là *.jar, hãy lưu vào ổ đĩa và nhớ đường dẫn của nó.
Sau đó chúng ta mở Eclipse lên, tạo một project mới
Đặt tên cho Project đó, nhớ chọn JDK đúng với Version Java của mình
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
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
Nếu ra kết quả, xuất hiện một Referenced Library giống hình, là ta đã thành công
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é
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
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
Sau đó lại khởi tạo biến instance cho driver là "driver" (các bạn đặt tên tùy ý)
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.
Để 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:
Sau khi đã hoàn tất hết, chúng ta dùng phương thức get(); để đi đến site https://anhtester.com
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:
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.
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.
Các bạn xem thêm khoá học tại đây nhé: https://anhtester.com/blog/selenium-java
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