Topic_04_Browser_Part1
ffunknown
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(); } }