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

    • Tại Project SDK chọn phiên bản JDK đã cài đặt

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ải về thư viện Selenium server standalone – version mới nhất hiện tại 3.14.59
    • TestNG version tương thích với Selenium – version 6.14.3
    • Copy 2 file selenium/ testng vào thư mục libraries
  • 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
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