Topic_04_Browser_Part1
ffunknown
java
3 years ago
5.0 kB
9
Indexable
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();
}
}Editor is loading...