Nếu các bạn muốn setup môi trường Selenium trên hệ điều hành Windows hoặc MAC thì xem qua 2 bài viết này:

Lưu ý

  • Khi chuyển qua sử dụng hệ điều hành Linux các bạn phải tập làm quen với cách sử dụng về chế độ dòng lệnh (thao tác 90% qua command line)
  • Khi cài đặt các package/ tool nên sử dụng với quyền cao nhất là sudo (nhập mật khẩu nếu có yêu cầu)
  • Phiên bản sử dụng hiện tại Ubuntu Desktop 64 bit 20.04 LTSxem các tính năng mới trong bài viết này

Chrome

Java Development Kit (JDK)

  • Sau khi tải về sẽ có 1 file offline tên jdk-8u251-linux-x64.tar.gz trong thư mục Download
  • Mở Terminal tại thư mục download và xả nén JDK ra bằng lệnh
    • sudo tar xvzf jdk-8u251-linux-x64.tar.gz
  • Xả nén xong sẽ có 1 thư mục tên: jdk1.8.0_251
  • Tạo 1 thư mục tên là java trong user
    • sudo mkdir /usr/local/java
  • Di chuyển thư mục jdk1.8.0_251 đã xả nén vào thư mục /usr/local/java
    • sudo mv jdk1.8.0_251 /usr/local/java/
  • Cài đặt các gói cần thiết qua lệnh
    • sudo update-alternatives –install “/usr/bin/javac” “javac” “/usr/local/java/jdk1.8.0_251/bin/javac” 1
    • sudo update-alternatives –install “/usr/bin/java” “java” “/usr/local/java/jdk1.8.0_251/bin/java” 1
    • sudo update-alternatives –install “/usr/bin/javaws” “javaws” “/usr/local/java/jdk1.8.0_251/bin/javaws” 1
  • Set quyền cho các thư mục
    • sudo chmod a+x /usr/bin/java
    • sudo chmod a+x /usr/bin/javac
    • sudo chmod a+x /usr/bin/javaws
    • sudo chown -R root:root /usr/local/java/jdk1.8.0_251
    • sudo update-alternatives –config java
  • Kiểm tra Java đã được cài đặt thành công
    • java -version

Eclipse IDE

  • Link download: https://www.eclipse.org/downloads/packages/release
  • Bản 2020-06 là mới nhất tại thời điểm hiện tại – chọn bản Eclipse IDE for Java Developer là đáp ứng đủ cho nhu cầu công việc
  • Tải về bản Linux 64-bit

  • Sau khi tải về sẽ có file trong thư mục Download: eclipse-java-2020-06-R-linux-gtk-x86_64.tar.gz
  • Click chuột phải chọn Extract Here để xả nén ra thư mục: eclipse-java-2020-06-R-linux-gtk-x86_64
  • Copy thư mục eclipse trong thư mục mới xả nén vào thư mục Home

  • Click đúp vào file eclipse trong thư mục eclipse để start Eclipse lên

  • Để mặc định và bấm vào check box bên dưới để lần sau popup ko hiện lên
    • eclipse-workspace: là thư mục lưu trữ các setting của Eclipse và các dự án đang làm việc

Selenium

Project

  • Tạo mới Project: File > New > Java Project > [Đặt tên Project] > Finish
    • Project name: selenium-api-java-testng

  • Tạo mới Package: Click chuột phải vào thư mục src > New > Package > [Đặt tên Package] > Finish
    • Package name: automationfc

  • Tạo mới Class: Click chuột phải vào Package > New > Class > [Đặt tên Class] > Finish
    • Class name: Topic_01_Check_Environment

Libraries

  • Tạo mới 1 thư mục trong project để lưu trữ các thư viện java hoặc driver của các loại browser cần dùng
    • Đặt tên thư mục là libraries

  • Copy thư viện selenium-server-standalone-2.53.1.jar dán vào thư mục libraries
  • Click chuột phải vào thư viện và chọn Add to Build Path

TestNG Runner

  • Click vào Select All và nhấn Next button

  • Click “I accept the terms of the license agreement” và nhấn Finish button

  • Nếu hiện ra 1 popup thông báo về Security Warning, nhấn Install anyway để tiếp tục

  • Click Restart Now để khởi động lại Eclipse

ChromeDriver

  • Kiểm tra version của chrome browser – gõ lên thanh address: chrome://version

  • Chọn bản chromedriver cho Linux Ubuntu

  • Xả nén và copy file chromedriver vào thư mục libraries
  • Set permission cho file chromedriver
    • Click chuột phải vào file chromedriver chọn Properties
    • Check vào quyền Execute

Run Test

  • Copy và paste đoạn code phía dưới vào class “Topic_01_Check_Environment” đã tạo
package automationfc;

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") + "/libraries/chromedriver");
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();
}
}
  • Run testcase
    • Click chuột phải vào Class test chọn Run As > TestNG Test
  • Kết quả sau khi run pass