Web Automation - Selenium Tips - Vasile Pop
Web Automation - Selenium Tips - Vasile Pop
Web Automation - Selenium Tips - Vasile Pop
INTEL ROMANIA
driver.fi
n dElem ent(By.cssSelector("a[data-id= 'm y-library']")).click();
nam e= 'Biology']")).getAttribute("data-product-id");
Assert.assertEquals(prodId, "txt123456");
driver.fi
n dElem ent(By.cssSelector("div[data-product-nam e= 'Biology']")).click();
}
Probleme
Daca unul din elemente e modificat (atribut, tag HTML,
etc.), va trebui modificat in toate testele unde e folosit
selectorul poate fi salvat intr-o variabila si refolosit, ca
solutie partiala
reader.clickM yLibrary();
Assert.assertEquals(book.getProductId(), "txt123456");
book.openBook();
}
PageObjects - LoadableComponent
Simplificarea codului e data de faptul ca facem o modelare a
paginilor aplicatiei in clase Java.
p u b lic class R ead er exten d s Load ab leC om p on en t< R ead er> {
p rivate W eb D river d river;
@ FindBy(css = "a[data-id= 'm y-library']")
private W ebElem ent m yLibrary;
Page
Components
Page components
O componenta va fi modelata ca si clasa Java pe baza obiectului
WebElement care o reprezinta. Nu mai pot fi folosite annotations
@FindBy, dar putem folosi By selector pentru a evita repetarea.
n ew W eb D riverW ait(d river, 300).u n til(n ew Exp ected C on d ition < B oolean > (){
}});
};