En aquest tema, aprendrem com interactuar amb elements web comuns com els desplegables i les caixes de selecció utilitzant Selenium WebDriver. Aquests elements són fonamentals en moltes aplicacions web, i saber com gestionar-los és essencial per a l'automatització de proves.
Desplegables
Els desplegables són elements que permeten a l'usuari seleccionar una opció d'una llista. En HTML, aquests elements es representen amb l'etiqueta <select>. A continuació, veurem com podem interactuar amb ells utilitzant Selenium.
Exemple de Codi: Seleccionar una Opció d'un Desplegable
import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.chrome.ChromeDriver;
import org.openqa.selenium.support.ui.Select;
public class DropdownExample {
public static void main(String[] args) {
// Configura el WebDriver
System.setProperty("webdriver.chrome.driver", "ruta/al/driver/chromedriver");
WebDriver driver = new ChromeDriver();
// Navega a la pàgina amb el desplegable
driver.get("http://exemple.com/pagina-amb-desplegable");
// Localitza l'element desplegable
WebElement dropdownElement = driver.findElement(By.id("id-del-desplegable"));
// Crea un objecte Select
Select dropdown = new Select(dropdownElement);
// Selecciona una opció pel seu text visible
dropdown.selectByVisibleText("Opció 1");
// Tanca el navegador
driver.quit();
}
}Explicació del Codi
- WebDriver i ChromeDriver: Inicialitzem el WebDriver per controlar el navegador Chrome.
- Localització de l'Element: Utilitzem
findElementper localitzar el desplegable per l'atributid. - Select Object: Creem un objecte
Selectpassant-li l'element desplegable. - Selecció d'Opció: Utilitzem
selectByVisibleTextper seleccionar una opció pel seu text visible.
Caixes de Selecció
Les caixes de selecció permeten a l'usuari seleccionar múltiples opcions. En HTML, es representen amb l'etiqueta <input type="checkbox">.
Exemple de Codi: Seleccionar una Caixa de Selecció
import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.chrome.ChromeDriver;
public class CheckboxExample {
public static void main(String[] args) {
// Configura el WebDriver
System.setProperty("webdriver.chrome.driver", "ruta/al/driver/chromedriver");
WebDriver driver = new ChromeDriver();
// Navega a la pàgina amb la caixa de selecció
driver.get("http://exemple.com/pagina-amb-caixa-de-seleccio");
// Localitza la caixa de selecció
WebElement checkbox = driver.findElement(By.id("id-de-la-caixa"));
// Marca la caixa de selecció si no està marcada
if (!checkbox.isSelected()) {
checkbox.click();
}
// Tanca el navegador
driver.quit();
}
}Explicació del Codi
- Localització de l'Element: Utilitzem
findElementper localitzar la caixa de selecció per l'atributid. - Comprovació de l'Estat: Utilitzem
isSelectedper comprovar si la caixa de selecció està marcada. - Interacció: Utilitzem
clickper marcar la caixa de selecció si no ho està.
Exercicis Pràctics
- Exercici 1: Escriu un script que seleccioni una opció d'un desplegable utilitzant
selectByIndex. - Exercici 2: Crea un script que marqui totes les caixes de selecció en una pàgina web.
Solucions
Exercici 1 Solució:
Exercici 2 Solució:
// Localitza totes les caixes de selecció
List<WebElement> checkboxes = driver.findElements(By.cssSelector("input[type='checkbox']"));
// Marca totes les caixes de selecció
for (WebElement checkbox : checkboxes) {
if (!checkbox.isSelected()) {
checkbox.click();
}
}Conclusió
En aquesta secció, hem après com gestionar desplegables i caixes de selecció amb Selenium WebDriver. Aquests conceptes són fonamentals per a l'automatització de proves en aplicacions web que utilitzen aquests elements. Practicar amb aquests exemples i exercicis t'ajudarà a consolidar els teus coneixements i a preparar-te per a escenaris més complexos.
Automatització de Proves amb Selenium
Mòdul 1: Introducció a l'Automatització de Proves
- Què és l'Automatització de Proves?
- Beneficis de l'Automatització de Proves
- Visió General de Selenium
- Configuració del Teu Entorn
Mòdul 2: Començant amb Selenium
- Introducció a Selenium WebDriver
- Instal·lació de Selenium WebDriver
- Primer Script de Selenium
- Comprensió de la Interfície WebDriver
Mòdul 3: Localització d'Elements Web
- Introducció als Localitzadors
- Ús de Localitzadors ID i Nom
- XPath i Selectors CSS
- Estratègies Avançades de Localització
Mòdul 4: Interacció amb Elements Web
- Realització d'Accions sobre Elements Web
- Gestió de Desplegables i Caixes de Selecció
- Treballant amb Alertes i Pop-ups
- Gestió de Finestres del Navegador i Frames
Mòdul 5: Sincronització en Selenium
Mòdul 6: Marc de Proves i Selenium
- Introducció a TestNG
- Configuració de TestNG amb Selenium
- Creació de Casos de Prova TestNG
- Proves Basades en Dades amb TestNG
Mòdul 7: Conceptes Avançats de Selenium
- Gestió de Trucades AJAX
- Treballant amb Cookies
- Captura de Captures de Pantalla
- Execució de JavaScript amb Selenium
Mòdul 8: Selenium Grid i Proves en Paral·lel
- Introducció a Selenium Grid
- Configuració de Selenium Grid
- Execució de Proves en Paral·lel
- Proves Multinavegador
Mòdul 9: Integració Contínua i Selenium
- Introducció a la Integració Contínua
- Integració de Selenium amb Jenkins
- Automatització de l'Execució de Proves
- Informes i Registre
