Nội dung bài viết
Nếu các bạn muốn setup môi trường Selenium trên hệ điều hành Windows hoặc Linux thì xem qua 2 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 (Ubuntu Linux)
Java Development Kit (JDK)
- Dùng bản Java version 1.8 trở lên
- Download trên trang chủ: https://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html
- Nếu các bạn ngại đăng kí tài khoản trên Oracle thì tải file cài đặt Offline: https://drive.google.com/drive/folders/19ZoFJfRquNBbyeiUjzKE_FyqHzrHJV1h
- Trong này đã để sẵn các file Offline: Java/ Eclipse/ Firefox/ Selenium/ Git SCM
- Sau khi tải về -> cài đặt bình thường -> Click Next -> Install cho đến khi hoàn tất
- Sau khi cài đặt xong bật command line (cmd) kiểm tra version đã cài đặt thành công
- java -version
Eclipse IDE
- Link download: https://www.eclipse.org/downloads/packages/release, tùy vào hệ thống của bạn phiên bản 32/64 bit để lựa chọn cho phù hợp
- Bản 2020-03 là bản 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
- Click đúp vào file .dmg mới tải về – sau đó kéo thả Eclipse vào thư mục Application
- Click đúp vào Eclipse app trong thư mục Application để 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
- Sử dụng bản 2.53.1 vì ổn định cho newbie học và thực hành (update theo hướng dẫn sau nếu cần dùng version mới nhất)
- Link download: http://selenium-release.storage.googleapis.com/index.html?path=2.53/
- Chọn và tải: selenium-server-standalone-2.53.1.jar
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à Add vào Build Path
TestNG Runner
- Chọn Help > Install New Software
- Nhập:
- Name = TestNG
- Location = https://testng.org/testng-eclipse-update-site/6.14.3/
- Click Add
- 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
- Tải về đúng version của chromedriver qua link sau: https://chromedriver.storage.googleapis.com/index.html
- Chọn bản chromedriver cho MAC
- 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 webdriver; import java.util.concurrent.TimeUnit; import org.openqa.selenium.By; import org.openqa.selenium.WebDriver; import org.openqa.selenium.firefox.FirefoxDriver; 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_Latest { WebDriver driver; String projectPath = System.getProperty("user.dir"); String osName = System.getProperty("os.name"); @BeforeClass public void beforeClass() { if (osName.contains("Mac OS")) { System.setProperty("webdriver.gecko.driver", projectPath + "/browserDrivers/geckodriver"); } else { System.setProperty("webdriver.gecko.driver", projectPath + "\\browserDrivers\\geckodriver.exe"); } driver = new FirefoxDriver(); driver.manage().timeouts().implicitlyWait(30, TimeUnit.SECONDS); driver.manage().window().maximize(); driver.get("https://www.facebook.com/"); } @Test public void TC_01_ValidateCurrentUrl() { // Login Page Url matching String loginPageUrl = driver.getCurrentUrl(); Assert.assertEquals(loginPageUrl, "https://www.facebook.com/"); } @Test public void TC_02_ValidatePageTitle() { // Login Page title String loginPageTitle = driver.getTitle(); Assert.assertEquals(loginPageTitle, "Facebook – log in or sign up"); } @Test public void TC_03_LoginFormDisplayed() { // Login form displayed Assert.assertTrue(driver.findElement(By.xpath("//form[@data-testid='royal_login_form']")).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