Java tutorial
/* * To change this license header, choose License Headers in Project Properties. * To change this template file, choose Tools | Templates * and open the template in the editor. */ package com.pineapple.eckotur.web.test; import java.util.List; import java.util.concurrent.TimeUnit; import org.junit.AfterClass; import static org.junit.Assert.assertTrue; import static org.junit.Assert.fail; import org.junit.BeforeClass; import org.junit.Test; import org.openqa.selenium.By; import org.openqa.selenium.WebDriver; import org.openqa.selenium.WebElement; import org.openqa.selenium.firefox.FirefoxDriver; /** * * @author estudiante */ public class DeleteOffer { // Es la instancia inicial del web driver que controlar el navegador firefox private static WebDriver driver; // url en el cual se aloja la pgina web (en este caso localhost:8080) private static String baseUrl; // variable que indica si varios alert consecutivos (alert javascript) se tomarn private static boolean acceptNextAlert = true; private static StringBuffer verificationErrors = new StringBuffer(); /*La anotacin @BeforeClass indica lo que se debe ejecutar ANTES de correr el archivo de pruebas. Este mtodo instancia un nuevo driver firefox (causando la apertura de una ventana fsica de firefox).*/ @BeforeClass public static void setUp() throws Exception { driver = new FirefoxDriver(); // se define el url base del proyecto web baseUrl = "http://localhost:8080/Eckotur.service/cart.html"; /* Indica cuanto se espera para la respuesta de cualquier comando realizado hacia el navegador*/ driver.manage().timeouts().implicitlyWait(30, TimeUnit.SECONDS); } // La anotacin @AfterClass indica lo que se debe ejecutar DESPUES de ejecutar // el archivo de pruebas. Este mtodo cierra la ventana de firefox // abierta por @BeforeClass que se utiliz para la prueba. @AfterClass public static void tearDown() throws Exception { // Se cierra el navegador. driver.quit(); // Se verifica que se haya cerrado efectivamente el navegador. String verificationErrorString = verificationErrors.toString(); if (!"".equals(verificationErrorString)) { fail(verificationErrorString); } } @Test public void deletecart() throws Exception { boolean success = false; driver.findElement(By.partialLinkText("delete")).click(); Thread.sleep(3000); List<WebElement> rows = driver.findElements(By.xpath("//table[contains(@id,'Table')]/tbody/tr")); for (WebElement webElement : rows) { List<WebElement> elems = webElement.findElements(By.xpath("td")); if (elems.get(0).getText().equals("Colombia") && elems.get(1).getText().equals("8000000")) { List<WebElement> buttons = elems.get(2).findElements(By.xpath("button")); buttons.get(1).click(); success = true; break; } } Thread.sleep(3000); //Se busca el objeto que fue eliminado, si se encuentra hay error al eliminar rows = driver.findElements(By.xpath("//table[contains(@id,'Table')]/tbody/tr")); if (rows.size() > 0) { for (WebElement webElement : rows) { List<WebElement> elems = webElement.findElements(By.xpath("td")); if (elems.get(0).getText().equals("Viaje al centro de la tierra") && elems.get(1).getText().equals("Web ID: 1089772")) { success = false; break; } } } Thread.sleep(3000); assertTrue(success); } }