Nếu các bạn muốn setup môi trường Selenium và Eclipse trên các hệ điều hành Windows/ MAC hoặc Linux thì xem qua các bài viết này:
IDE
Viết tắt của Integrated Development Environment (Môi trường phát triển tích hợp)
Môi trường tích hợp dùng để viết code/ phát triển ứng dụng phần mềm/ hỗ trợ trình biên dịch (Compiler)/ trình thông dịch (Interpreter)/ kiểm tra lỗi (Debugger)/ định dạng (Formatter) hoặc highlight code/ suggest code/..
Phát triển các ứng dụng/ framework viết bằng ngôn ngữ lập trình Java thì sử dụng các IDE phổ biến hiện nay như: Eclipse/ IntelliJ IDE/ Netbean/ Android Studio/ Visual Studio Code
Một số IDE phổ biến hỗ trợ các ngôn ngữ bên mảng testing
Java: Eclipse/ IntelliJ/ Android Studio
C#: Microsoft Visual Studio/ Visual Studio Code
Javascript/ Typescript: Visual Studio Code/ Webstorm
Python: PyCharm
Ruby: RubyMine
IntelliJ IDEA
Đây là công cụ được phát triển bởi Jetbrains - một công ty phát triển nhiều IDE/ thư viện hỗ trợ cho nhiều ngôn ngữ (PyCharm/ RubyMine/ WebStorm/..)
2 phiên bản của IntelliJ IDEA
Miễn phí (Community)
Có phí (Ultimate)

Bản Community hỗ trợ cũng quá nhiều trong phạm vi công việc (testing) nên ko cần thiết phải sử dụng đến bản Ultimate (cần cấu hình máy cao để chạy mượt)
Java/ Groovy
Xml/ Json/ Markdown/ Xpath
Maven/ Gradle
GIT/ Github/ Docker
JUnit/ TestNG/ Cucumber/ Jira
Debugger/ Decompiler
Một lưu ý về việc sử dụng bản Ultimate hợp lệ và không tốn chi phí là sử dụng email sinh viên/ giáo viên (giáo dục) để đăng kí tài khoản - Jetbrains hỗ trợ 1 năm miễn phí toàn bộ IDE
Tải về bản Community file nén - xả nén ra là chạy luôn ko cần cài đặt

Chạy file "idea64.exe" trong thư mục bin (chọn bản idea.exe nếu sử dụng hệ điều hành 32 bit)

Accept điều khoản sử dụng

Chọn giao diện màu tối (Dracula) hoặc sáng (Light) - tùy sở thích cá nhân

Config những tool/ thư viện hỗ trợ cho testing
Build Tools: Maven/ Gradle
Version Controls: Git/ Github
Test Tools: JUnit/ TestNG/ Coverage
Swing: Disable
Android: Disable
Other Tools: Default ko change (Enable All)
Plugin Development: Disable

Để mặc định và start IntelliJ

Config JDK
Click vào Configure > Structure for New Projects

Project
Tạo mới Project
1 - Tạo project theo style của Java/ Maven/ Gradle (Chọn cách này)
2 - Import 1 project có sẵn trong máy
3 - Clone project từ các source version control: Github/ Bitbucket/ Gitlab/ VSTS/..

Chọn Java project và Next

Đặt tên project là "selenium-testng-java" và chọn nơi lưu > Finish

Tạo 1 thư mục đặt tên là libraries để add thư viện Selenium vào
Tạo 1 thư mục đặt tên là browserDrivers để add các browser driver vào (ChromeDriver/ GeckoDriver/ IEDriver/..)
ChromeDriver version tương thích với trình duyệt Chrome mới nhất hiện tại - 83.0.4103.39
Xả nén và copy file chromedriver vào thư mục browserDrivers

Chọn 2 thư viện Selenium/ TestNG > Click chuột phải > Chọn Add as Library

Chọn Ok để xác nhận

Đổi tên thư mục src qua selenium
Click chuột phải vào src chọn Refactor > Rename

Tạo mới 1 package trong thư mục selenium đặt tên là webdriver

Tạo 1 class trong package webdriver đặt tên là "Topic_01_Check_Environment"

Run Test
Copy và paste đoạn code phía dưới vào class "Topic_01_Check_Environment" đã tạo
[code language="java" autolinks="true"] package webdriver;
import java.util.concurrent.TimeUnit;
import org.openqa.selenium.By; import org.openqa.selenium.WebDriver; import org.openqa.selenium.chrome.ChromeDriver; import org.testng.Assert; import org.testng.annotations.AfterClass; import org.testng.annotations.BeforeClass; import org.testng.annotations.Test;
public class Topic_01_Check_Environment { WebDriver driver;
@BeforeClass public void beforeClass() { System.setProperty("webdriver.chrome.driver", System.getProperty("user.dir") + "/browserDrivers/chromedriver.exe"); driver = new ChromeDriver(); driver.manage().timeouts().implicitlyWait(30, TimeUnit.SECONDS); driver.get("http://demo.guru99.com/v4/"); }
@Test public void TC_01_ValidateCurrentUrl() { String loginPageUrl = driver.getCurrentUrl(); Assert.assertEquals(loginPageUrl, "http://demo.guru99.com/v4/"); }
@Test public void TC_02_ValidatePageTitle() { String loginPageTitle = driver.getTitle(); Assert.assertEquals(loginPageTitle, "Guru99 Bank Home Page"); }
@Test public void TC_03_LoginFormDisplayed() { Assert.assertTrue(driver.findElement(By.xpath("//form[@name='frmLogin']")).isDisplayed()); }
@AfterClass public void afterClass() { driver.quit(); } } [/code]
Nhấn phím tắt "Ctrl - Alt - L" để format lại đoạn code cho gọn gàng

Run testcase

Kết quả sau khi run pass
