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