Nội dung bài viết
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:
- Cài đặt/ cấu hình Selenium Java và Eclipse (Windows OS)
- Cài đặt/ cấu hình Selenium Java và Eclipse (MAC OS)
- Cài đặt/ cấu hình Selenium Java và Eclipse (Ubuntu Linux)
Tổng quan về các 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
Download IntelliJ IDE
- Đâ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
Setting IntelliJ
- 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
Setting Java JDK
- Config JDK
- Click vào Configure > Structure for New Projects
-
- Tại Project SDK chọn phiên bản JDK đã cài đặt
Tạo mới 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
Add thư viện Selenium
- Tạo 1 thư mục đặt tên là libraries để add thư viện Selenium vào
- 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
Add Browser Driver
- 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
- Đổ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 Testcase
- Copy và paste đoạn code phía dưới vào class “Topic_01_Check_Environment” đã tạo
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(); } }
- 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