En aquesta secció, aprendrem a crear el nostre primer script de Selenium. Aquest és un pas fonamental per començar a automatitzar proves amb Selenium WebDriver. Assegura't de tenir el teu entorn configurat abans de començar.
Objectius d'Aprenentatge
- Comprendre l'estructura bàsica d'un script de Selenium.
- Escriure i executar un script senzill que obri un navegador i interactuï amb una pàgina web.
- Familiaritzar-se amb les classes i mètodes bàsics de Selenium WebDriver.
Estructura Bàsica d'un Script de Selenium
Un script de Selenium típic inclou els següents passos:
- Importar les Llibreries Necessàries: Inclou les classes de Selenium que utilitzaràs.
- Inicialitzar el WebDriver: Crear una instància del WebDriver per al navegador que vulguis utilitzar.
- Navegar a una Pàgina Web: Utilitzar el WebDriver per obrir una URL específica.
- Interaccionar amb Elements Web: Localitzar i interactuar amb elements de la pàgina.
- Tancar el Navegador: Finalitzar la sessió del WebDriver.
Exemple Pràctic
A continuació, es mostra un exemple de codi per a un script senzill que obre Google, cerca "Selenium WebDriver" i tanca el navegador.
import org.openqa.selenium.By; import org.openqa.selenium.WebDriver; import org.openqa.selenium.WebElement; import org.openqa.selenium.chrome.ChromeDriver; public class FirstSeleniumScript { public static void main(String[] args) { // Configura el camí del driver de Chrome System.setProperty("webdriver.chrome.driver", "path/to/chromedriver"); // Inicialitza el WebDriver WebDriver driver = new ChromeDriver(); try { // Navega a Google driver.get("https://www.google.com"); // Localitza el camp de cerca WebElement searchBox = driver.findElement(By.name("q")); // Escriu "Selenium WebDriver" al camp de cerca searchBox.sendKeys("Selenium WebDriver"); // Envia la cerca searchBox.submit(); // Espera uns segons per veure els resultats (opcional) Thread.sleep(3000); } catch (InterruptedException e) { e.printStackTrace(); } finally { // Tanca el navegador driver.quit(); } } }
Explicació del Codi
- Importacions: Importem les classes necessàries de Selenium.
- Configuració del Driver:
System.setProperty
estableix el camí al driver del navegador (en aquest cas, ChromeDriver). - Inicialització del WebDriver:
new ChromeDriver()
crea una nova instància del navegador Chrome. - Navegació:
driver.get("https://www.google.com")
obre Google. - Interacció: Localitzem el camp de cerca per nom i enviem una consulta.
- Tancament:
driver.quit()
tanca el navegador i finalitza la sessió.
Exercici Pràctic
Objectiu: Modifica l'script anterior per buscar "Automatització de Proves" en lloc de "Selenium WebDriver".
Solució
// Canvia la línia de codi que escriu al camp de cerca searchBox.sendKeys("Automatització de Proves");
Errors Comuns i Consells
- Driver no trobat: Assegura't que el camí al driver del navegador és correcte i que el driver és compatible amb la versió del navegador.
- Element no trobat: Verifica que el localitzador utilitzat (per exemple,
By.name("q")
) és correcte i que l'element és present a la pàgina.
Conclusió
Has creat i executat el teu primer script de Selenium! Aquest és un pas important cap a l'automatització de proves. En el següent tema, aprofundirem en la comprensió de la interfície WebDriver i les seves capacitats.
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