Topic_04_Browser_Part1

ff
mail@pastecode.io avatar
unknown
java
a year ago
5.0 kB
1
Indexable
Never
package webdriver;

import java.util.List;
import java.util.Set;
import java.util.concurrent.TimeUnit;

import org.openqa.selenium.By;
import org.openqa.selenium.Dimension;
import org.openqa.selenium.Point;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.WebElement;
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_04_Browser_Part1 {
	
	WebDriver driver;
	WebElement element;
	String projectPath = System.getProperty("user.dir");

	@BeforeClass
	public void beforeClass() {
		System.setProperty("webdriver.gecko.driver", projectPath + "\\browserDrivers\\geckodriver.exe");
		driver = new FirefoxDriver();
		driver.manage().timeouts().implicitlyWait(20, TimeUnit.SECONDS);
		driver.manage().window().maximize();
		driver.get("https://www.facebook.com/");
	}

	@Test
	public void TC_01_Browser() {
		//Các hàm/ method để thao tác vs Browser là thông qua biến driver
		
		//Open an URL
		driver.get("https://sendo.vn"); //**
		
		// Đóng Browser nếu chỉ có 1 tab
		// Đóng tab hiện tại nếu có nhiều tab
		// WebDriver API - Windows/ Tab
		driver.close();//*
		
		// Đóng browser không quan tâm bao nhiêu tab
		driver.quit();//**
		
		
		// Tìm 1 element trên page
		// Trả về data type là WebElement
		driver.findElement(By.id("email"));
		driver.findElements(By.xpath("//a"));
		WebElement emailTextbox = driver.findElement(By.id("email"));//**
		
		// Tìm nhiều hơn 1 element trên page
		// Trả về data type là List<WebElement>
		List<WebElement> links = driver.findElements(By.xpath("//a"));//**
		
		//Trả về URL của page hiện tại
		String homePageUrl = driver.getCurrentUrl();//*
		
		//Verify tuyệt đối
		Assert.assertEquals(homePageUrl, "https://demo.nopcommerce.com/");
		
		// Lấy ra source code của trang hiện tại (HTML/ CSS/ JS/ JQuery/..)
		// Verify tương đối 1 giá trị có trong trang
		String homePageSource = driver.getPageSource();
		Assert.assertTrue(homePageSource.contains("Welcome to our store"));
		Assert.assertTrue(homePageSource.contains("Online shopping is the process consumers go through to purchase products or services over the Internet."));
		
		// Lấy ra/ trả về title của page hiện tại
		String homePageTitle = driver.getTitle();//*
		Assert.assertEquals(homePageTitle, "nopCommerce demo store");
		
		// WebDriver API - Windows/ Tabs
		// Trả vể 1 ID của tab hiện tại (1)
		String signUpTabID = driver.getWindowHandle();//*
		
		// Trả về ID của tất cả các Tab đang có (n)
		Set<String> allTabID = driver.getWindowHandles();//*
		
		// Xử lý cookie (Framework)
		driver.manage().getCookies();//*
		
		// Lấy log của browser ra (Framework)
		// driver.manage().log();
		
		// Time của việc findElement/ findElements
		driver.manage().timeouts().implicitlyWait(10, TimeUnit.SECONDS);//**
		
		// Time page được load xong 
		driver.manage().timeouts().pageLoadTimeout(10, TimeUnit.SECONDS);
		
		// Time để 1 đoạn async script được thực thi thành công (JavascriptExecutor)
		driver.manage().timeouts().setScriptTimeout(10, TimeUnit.SECONDS);
		
		// Fullscreen browser
		driver.manage().window().fullscreen();
		
		// Enduser hay dùng maximize
		driver.manage().window().maximize();//*
		
		// Test GUI
		
		//Lấy ra vị trí của browser so với độ phân giải màn hình
		Point browserPosition = driver.manage().window().getPosition();
		
		// Set vị trí của browser hiện tại ở điểm 0*250
		driver.manage().window().setPosition(new Point(250,250));
		
		//Lấy ra chiều rộng/ chiều cao của Browser
		Dimension browserSize = driver.manage().window().getSize();
		
		// Set browser mở với kích thước nào
		// Test Responsive
		driver.manage().window().setSize(new Dimension(1366, 768));
		driver.manage().window().setSize(new Dimension(1920, 1080));
		
		// Quay lại trang trước đó
		driver.navigate().back();
		
		// Chuyển tiếp trang trước đó
		driver.navigate().forward();
		
		// Tải lại trang
		driver.navigate().refresh();
		
		driver.navigate().to("https://www.sendo.vn");
		
		// WebDriver API - Alert/ Authentication Alert
		driver.switchTo().alert();//**
		
		// WebDriver API - Frame/ Iframe
		driver.switchTo().frame(1);//**
		
		// WebDriver API - Windows/ Tabs
		driver.switchTo().window("");//**
		
		
		
		
		
		
		
		
		
		
		
		
		
		
	
		
	}

	@Test
	public void TC_02_Element() {
		//Các hàm/ method để thao tác vs Element là thông qua biến Element
		
	}
	@Test
	public void TC_03_Method() {
		
	}

	@AfterClass
	public void afterClass() {
		driver.quit();
	}
}