Exercise2
plain_text
a month ago
3.5 kB
4
Indexable
Never
package com.material.qa; import io.github.bonigarcia.wdm.WebDriverManager; import org.openqa.selenium.By; import org.openqa.selenium.WebDriver; import org.openqa.selenium.WebElement; import org.openqa.selenium.chrome.ChromeDriver; import org.testng.annotations.AfterClass; import org.testng.annotations.BeforeClass; import org.testng.annotations.Test; import java.util.List; import java.util.concurrent.TimeUnit; public class RunTest { WebDriver driver; @BeforeClass public void beforeClass() { WebDriverManager.chromedriver().setup(); driver = new ChromeDriver(); driver.manage().timeouts().implicitlyWait(30, TimeUnit.SECONDS); driver.manage().window().maximize(); driver.get("https://material.angular.io/components/table/overview"); } @Test public void TC_01_Get_Weight_Based_On_Name() { // WebElement overviewTable = driver.findElement(By.xpath("//example-viewer[@id='table-basic']//table[contains(@class,'mat-mdc-table')]")); // sleepInSecond(3); List<WebElement> rows = driver.findElements(By.xpath("//example-viewer[@id='table-basic']//table[contains(@class,'mat-mdc-table')]//tbody[@class='mdc-data-table__content']//tr")); String desiredName = "Beryllium"; String weightBasedOnName = ""; sleepInSecond(3); for (WebElement row : rows) { WebElement cellName = row.findElement(By.xpath ("//example-viewer[@id='table-basic']//table[contains(@class,'mat-mdc-table')]//tbody[@class='mdc-data-table__content']//tr//td[contains(@class,'cdk-column-name')]")); String name = cellName.getText().trim(); System.out.println(name); if (name.equals(desiredName)) { WebElement cellWeight = row.findElement(By.xpath ("//example-viewer[@id='table-basic']//table[contains(@class,'mat-mdc-table')]//tbody[@class='mdc-data-table__content']//tr//td[contains(@class,'cdk-column-weigh')]")); weightBasedOnName = cellWeight.getText().trim(); System.out.println(weightBasedOnName); break; } } sleepInSecond(5); System.out.println("name: " + desiredName); System.out.println("weigh: " + weightBasedOnName); } @Test public void TC_02_Get_4Items_Under_Interfaces() { driver.findElement(By.xpath("//span[text()='api']//ancestor::a[@id='mat-tab-link-2']")).click(); driver.findElement(By.xpath("//div[text()='Testing']/parent::div/nav/a[contains(text(),'Interfaces')]")).click(); List<WebElement> items = driver.findElements(By.xpath("//div[text()='Testing']/parent::div/nav/a[contains(text(),'Interfaces')]/following-sibling::a")); System.out.println("4 items under Interfaces on the right side except the first item"); for (int i = 1; i < items.size(); i++) { WebElement aElement = items.get(i); String codeText = aElement.getText(); System.out.println("Index " + i + ": " + codeText); } } @AfterClass public void afterClass() { driver.quit(); } public void sleepInSecond(long second) { try { Thread.sleep(second * 1000); } catch (InterruptedException e) { e.printStackTrace(); } } }