Capítulo 91. Utilización de los principios orientados a objetos en el código de prueba

Este trabajo se ha traducido utilizando IA. Agradecemos tus opiniones y comentarios: translation-feedback@oreilly.com

Angie Jones

Al escribir código de prueba, es importante tener el mismo cuidado que al desarrollar código de producción. He aquí formas habituales de utilizar principios orientados a objetos (OO) al implementar código de prueba.

Encapsulación

El patrón de diseño Page Object Model se utiliza habitualmente en la automatización de pruebas. Este patrón prescribe crear una clase para interactuar con una página de la aplicación bajo prueba. Dentro de esta clase están los objetos localizadores de los elementos de la página web y los métodos para interactuar con esos elementos.

Lo mejor es encapsular adecuadamente restringiendo el acceso a los propios localizadores y exponiendo sólo sus métodos correspondientes:

public class SearchPage {
    private WebDriver driver;
    private By searchButton = By.id("searchButton");
    private By queryField = By.id("query");
   
    public SearchPage(WebDriver driver){
        this.driver = driver;
    }
   
    public void search(String query) {
        driver.findElement(queryField).sendKeys(query);
        driver.findElement(searchButton).click();
    }
}

Herencia

Aunque no se debe abusar de la herencia, sin duda puede ser útil en el código de prueba. Por ejemplo, dado que hay componentes de encabezado ...

Get 97 cosas que todo programador Java debe saber now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.