Hướng giải quyết như sau:khi mà click vào textlink Mobile:
- Lấy title của 2 sản phẩm sony và iphone để khi mà vào popup Compare, thì sẽ so sánh với tiêu đề 2 sản phẩm trong đó.
- Ở poup Compare, thì có tiêu đề mong muốn, và so sánh với tiêu đề hiện tại, nếu đúng thì pass
package demo_bai4;
import org.testng.annotations.AfterTest;
import org.testng.annotations.Test;
import org.testng.annotations.BeforeTest;
import java.util.concurrent.TimeUnit;
import org.openqa.selenium.By;
import static org.testng.AssertJUnit.assertEquals;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.chrome.ChromeDriver;
public class Bai4{
private WebDriver driver;
private String baseUrl;
@BeforeTest
public void setUp() throws Exception {
System.setProperty("webdriver.chrome.driver","D:\\NVH\\selenium\\gecko\\chromedriver.exe");
driver = new ChromeDriver();
baseUrl = "http://live.guru99.com/";
driver.manage().timeouts().implicitlyWait(10, TimeUnit.SECONDS);
}
@Test
public void testTC4() throws Exception {
// 1. mở trang http://live.guru99.com
driver.get(baseUrl);
// 2. Click Mobile menu
driver.findElement(By.linkText("MOBILE")).click();
driver.manage().timeouts().implicitlyWait(10, TimeUnit.SECONDS);
// 3. Trong trang mobile product , click Add To Compare cho Sony Xperia và Iphone
//ta lấy 2 title của 2 điện thoại để so sánh khi mà có popup show lên
// Click Add To Compare cho sony
driver.findElement(By.xpath("//*[@id=\"top\"]/body/div/div/div[2]/div/div[2]/div[1]/div[3]/ul/li[1]/div/div[3]/ul/li[2]/a")).click();
// lấy title của sony để so sánh với trang compare. Kết quả là lấy ra "SONY XPERIA"
String mainMobile1 = driver.findElement(By.xpath("//h2/a[@title='Sony Xperia']")).getText();
System.out.println("mainMobile1 = "+mainMobile1);
// // Click Add To Compare cho Iphone
driver.findElement(By.xpath("//*[@id=\"top\"]/body/div/div/div[2]/div/div[2]/div[1]/div[3]/ul/li[2]/div/div[3]/ul/li[2]/a")).click();
// lấy title của sony để so sánh với trang compare. Kết quả là lấy ra "IPHONE"
String mainMobile2 = driver.findElement(By.xpath("//h2/a[@title='IPhone']")).getText();
System.out.println("mainMobile2 = "+mainMobile2);
// 4. click vào nút COMPARE, 1 popup đc mở ra
driver.findElement(By.xpath("//button[@title='Compare']")).click();
// Chuyển qua popup mới
for (String handle : driver.getWindowHandles()) {
driver.switchTo().window(handle);
}
// 5. check lại titel của popup và lấy tiêu đề của sản phẩm, để so sánh với trang main
String strHead = ("COMPARE PRODUCTS");
String compHead = driver.findElement(By.xpath(".//*[@id='top']/body/div[1]/div[1]/h1")).getText();
System.out.println("compHead = "+compHead);
String popupMobile1 = driver.findElement(By.xpath("//h2/a[@title='Sony Xperia']")).getText(); // lấy được "IPHONE"
String popupMobile2 = driver.findElement(By.xpath("//h2/a[@title='IPhone']")).getText(); // lấy được "SONY XPERIA"
System.out.println("popupMobile1 = "+popupMobile1);
System.out.println("popupMobile2 = "+popupMobile2);
// kiểm tra title của popup xem có chính xác chưa
try {
assertEquals(strHead, compHead);
} catch (Exception e) {
e.printStackTrace();
}
// Kiểm tra title của 2 điện thoại, trong trang main và poup, ở đây là Sony
try {
assertEquals(mainMobile1, popupMobile1);
} catch (Exception e) {
e.printStackTrace();
}
// Kiểm tra title của 2 điện thoại, trong trang main và poup, ở đây là Iphone
try {
assertEquals(mainMobile2, popupMobile2);
} catch (Exception e) {
e.printStackTrace();
}
// 6. Close cửa sổ popup
driver.findElement(By.xpath("//button[@title='Close Window']")).click();
// Chuyển về cửa sổ mới (cửa sổ chính)
for (String handle : driver.getWindowHandles()) {
driver.switchTo().window(handle);
}
}
@AfterTest
public void tearDown() throws Exception {
driver.close();
}
}

0 comments:
Post a Comment