Skip to content

Commit

Permalink
Pn 9156 e 2 e destinatario pg recapiti cortesia modifica email pg (#149)
Browse files Browse the repository at this point in the history
* PN - 9160 - waiting for the call implementation to retrieve the OTP for add the mobile number in "altri recapiti" section

* fix

* Added new file for standard step (both PG and PF) and completed test 9160, missing the call for phone number's OTP

* Test terminato. commit pre test locale (piattaforma offline per intervento selfcare)

* merge conflicts resolved + yaml logic removed from the test

* unused import deleted

* test funzionante without yaml logic + fix visibility of ho capito checkbox

* comments resolved
  • Loading branch information
Gabriiii99 authored Apr 10, 2024
1 parent 424cb3c commit df7cc6a
Show file tree
Hide file tree
Showing 11 changed files with 305 additions and 45 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -68,6 +68,9 @@ public class RecapitiDestinatarioPage extends BasePage {
@FindBy(id = "courtesyContacts-email")
WebElement emailAssociata;

@FindBy(id = "courtesyContacts-phone")
WebElement cellulareAssociato;

@FindBy(id = "pec")
WebElement pecField;

Expand Down Expand Up @@ -186,7 +189,7 @@ public boolean waitMessaggioErrore() {

public void annullaButtonClick() {
try {
getWebDriverWait(30).until(ExpectedConditions.elementToBeClickable(this.annullaButton));
getWebDriverWait(10).until(ExpectedConditions.elementToBeClickable(this.annullaButton));
this.annullaButton.click();
} catch (TimeoutException e) {
logger.error("Il bottone annulla non è cliccabile con errore: " + e.getMessage());
Expand Down Expand Up @@ -267,7 +270,7 @@ public void visualizzaValidazione() {

public boolean verificaMailAssociata() {
try {
getWebDriverWait(10).until(ExpectedConditions.visibilityOf(emailAssociata));
getWebDriverWait(5).withMessage("L'email di cortesia non è presente").until(ExpectedConditions.visibilityOf(emailAssociata));
return true;
} catch (TimeoutException e) {
return false;
Expand Down Expand Up @@ -469,15 +472,15 @@ public void eliminaNuovaPec() {
}

public void confermaButtonEliminaClick() {
By confermaEliminaButtonBy = By.xpath("//div[@aria-labelledby='dialog-title']//button[contains(text(),'Conferma')]");
this.getWebDriverWait(40).withMessage("Il bottone conferma del pop-up elimina non cliccabile").until(ExpectedConditions.elementToBeClickable(confermaEliminaButtonBy));
By confermaEliminaButtonBy = By.id("buttonConferma");
this.getWebDriverWait(10).withMessage("Il bottone conferma del pop-up elimina non cliccabile").until(ExpectedConditions.elementToBeClickable(confermaEliminaButtonBy));
this.element(confermaEliminaButtonBy).click();
}

public String getEmailErrorMessage() {
By errorBy = By.id("email-helper-text");
WebElement errorMessage = driver.findElement(errorBy);
this.getWebDriverWait(10).until(ExpectedConditions.visibilityOf(errorMessage));
getWebDriverWait(10).until(ExpectedConditions.visibilityOf(errorMessage));
return errorMessage.getText();
}

Expand Down Expand Up @@ -506,9 +509,9 @@ public void clickHoCapitoCheckBoxPopup() {
}

public void confermaEmailPopup() {
By popupConfirmaButtonBy = By.xpath("//button[@data-testid='disclaimer-confirm-button']");
this.getWebDriverWait(30).until(ExpectedConditions.elementToBeClickable(popupConfirmaButtonBy));
this.driver.findElement(popupConfirmaButtonBy).click();
By popupConfirmButtonBy = By.id("confirmButton");
getWebDriverWait(10).until(ExpectedConditions.elementToBeClickable(popupConfirmButtonBy));
this.driver.findElement(popupConfirmButtonBy).click();
}

public boolean verificaPopUpConfermaEmail() {
Expand All @@ -517,7 +520,7 @@ public boolean verificaPopUpConfermaEmail() {
}

public void clickAvvisamiViaEmail() {
getWebDriverWait(60).withMessage("avvisami via email non è visibile").until(ExpectedConditions.elementToBeClickable(this.avvisamiViaEmailButton));
getWebDriverWait(10).withMessage("avvisami via email non è visibile").until(ExpectedConditions.elementToBeClickable(this.avvisamiViaEmailButton));
this.avvisamiViaEmailButton.click();
}

Expand Down Expand Up @@ -629,4 +632,61 @@ public void clickConfermaRecapitoGiaPresente() {
getWebDriverWait(10).withMessage("Bottone conferma non visualizzato").until(ExpectedConditions.and(ExpectedConditions.visibilityOfElementLocated(confermaButton), ExpectedConditions.elementToBeClickable(confermaButton)));
this.element(confermaButton).click();
}

public void checkNumeroDiCellulareCorretto(String cellulare) {
getWebDriverWait(10).withMessage("Numero di cellulare appena inserito non visualizzato").until(ExpectedConditions.and(
ExpectedConditions.visibilityOf(cellulareAssociato),
ExpectedConditions.attributeToBe(cellulareAssociato, "innerText", "+39" + cellulare)));
}

public void clickSuBottoneCellulareDiCortesia(String actionButton){
By bottoneActionBy = By.xpath("//form[contains(., 'Numero di cellulare')]//button[contains(text(), '" + actionButton + "')]");
getWebDriverWait(10).withMessage("Il bottone non è cliccabile").until(ExpectedConditions.visibilityOfElementLocated(bottoneActionBy));
this.element(bottoneActionBy).click();
}

public void clickSuBottoneEmailDiCortesia(String actionButton){
By bottoneActionBy = By.xpath("//form[contains(., 'Indirizzo e-mail')]//button[contains(text(), '" + actionButton + "')]");
getWebDriverWait(10).withMessage("Il bottone non è cliccabile").until(ExpectedConditions.visibilityOfElementLocated(bottoneActionBy));
this.element(bottoneActionBy).click();
}

public void checkNumeroDiCellulareNonPresente(){
try {
getWebDriverWait(10).withMessage("Input numero di cellulare non visualizzato o non vuoto").until(ExpectedConditions.and(
ExpectedConditions.visibilityOf(inserimentoPhoneField),
ExpectedConditions.attributeToBe(inserimentoPhoneField, "value", "")
));
}catch(TimeoutException e){
logger.error("Input numero di cellulare non visualizzato o non vuoto con errore: " + e.getMessage());
Assert.fail("Input numero di cellulare non visualizzato o non vuoto con errore: " + e.getMessage());
}
}

public void checkCampoEmailModificabile(){
try {
getWebDriverWait(10).withMessage("Campo email non modificabile").until(ExpectedConditions.visibilityOf(inserimentoMailField));
} catch (TimeoutException e){
logger.error("Campo email non modificabile con errore: " + e.getMessage());
Assert.fail("Campo email non modificabile con errore: " + e.getMessage());
}
}

public void checkDisclaimer(){
By textDisclaimerBy = By.xpath("//div[contains(text(), 'Se l’impresa non ha una PEC')]");
By hoCapitoCheckboxBy = By.xpath("//span[@data-testid='disclaimer-checkbox']");
By annullaButtonBy = By.id("cancelButton");
By confermaButtonBy = By.id("confirmButton");
try {
getWebDriverWait(10).withMessage("Testo del disclaimer non visualizzato").until(ExpectedConditions.visibilityOfElementLocated(textDisclaimerBy));
getWebDriverWait(10).withMessage("Checkbox 'Ho capito' non Visualizzata").until(ExpectedConditions.visibilityOfElementLocated(hoCapitoCheckboxBy));
getWebDriverWait(10).withMessage("Bottone annulla non visualizzato").until(ExpectedConditions.visibilityOfElementLocated(annullaButtonBy));
getWebDriverWait(10).withMessage("Bottone conferma non visualizzato o cliccabile").until(ExpectedConditions.and(
ExpectedConditions.visibilityOfElementLocated(confermaButtonBy),
ExpectedConditions.attributeToBe(confermaButtonBy, "disabled", "true")));
} catch (TimeoutException e){
logger.error("Qualche componente del pop up non viene visualizzato con errore: " + e.getMessage());
Assert.fail("Qualche componente del pop up non viene visualizzato con errore: " + e.getMessage());
}
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -121,7 +121,7 @@ public void eliminaEmailEsistente() {

public void insertEmail(String emailPEC) {
By inserimentoEmailFieldBy = By.id("email");
this.getWebDriverWait(30).withMessage("input pec field non trovato").until(ExpectedConditions.visibilityOfElementLocated(inserimentoEmailFieldBy));
getWebDriverWait(10).withMessage("input pec field non trovato").until(ExpectedConditions.visibilityOfElementLocated(inserimentoEmailFieldBy));
this.element(inserimentoEmailFieldBy).sendKeys(emailPEC);
}

Expand Down Expand Up @@ -208,13 +208,13 @@ public void checkPostModifica() {
By saveButton = By.id("saveModifyButton-default");
By cancelButton = By.xpath("//button[contains(text(),'Annulla')]");
By emailField = By.id("email");
this.getWebDriverWait(10).withMessage("Non si visualizza il bottone salva o non è cliccabile").until(ExpectedConditions.and(
getWebDriverWait(10).withMessage("Non si visualizza il bottone salva e non è cliccabile").until(ExpectedConditions.and(
ExpectedConditions.visibilityOfElementLocated(saveButton),
ExpectedConditions.elementToBeClickable(saveButton)));
this.getWebDriverWait(10).withMessage("Non si visualizza il bottone annulla o non è cliccabile").until(ExpectedConditions.and(
getWebDriverWait(10).withMessage("Non si visualizza il bottone annulla e non è cliccabile").until(ExpectedConditions.and(
ExpectedConditions.visibilityOfElementLocated(cancelButton),
ExpectedConditions.elementToBeClickable(cancelButton)));
this.getWebDriverWait(10).withMessage("Non si visualizza il campo email o non è modificabile").until(ExpectedConditions.and(
getWebDriverWait(10).withMessage("Non si visualizza il campo email e non è modificabile").until(ExpectedConditions.and(
ExpectedConditions.visibilityOfElementLocated(emailField),
ExpectedConditions.attributeToBe(this.element(emailField), "readonly", ""),
ExpectedConditions.attributeToBeNotEmpty(this.element(emailField), "value")));
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -24,8 +24,8 @@ public AccediAreaRiservataPGPage(WebDriver driver) {
public void waitLoadAccediAreaRiservataPGPage() {
try {
By titleBy = By.xpath("//h3[contains(text(),'Come vuoi accedere?')]");
this.getWebDriverWait(30).withMessage("il titolo della pagina Accedi Area Riservata non è visibile").until(ExpectedConditions.visibilityOfElementLocated(titleBy));
this.getWebDriverWait(30).withMessage("Lo spid Button della pagina Accedi Area Riservata non è visibile").until(ExpectedConditions.elementToBeClickable(this.spidButton));
getWebDriverWait(30).withMessage("il titolo della pagina Accedi Area Riservata non è visibile").until(ExpectedConditions.visibilityOfElementLocated(titleBy));
getWebDriverWait(30).withMessage("Lo spid Button della pagina Accedi Area Riservata non è visibile").until(ExpectedConditions.elementToBeClickable(this.spidButton));
logger.info("AccediAreaRiservaPage caricata correttamente");
} catch (TimeoutException e ){
logger.error("Accedi Area Riservata Page non caricata correttamente con errore: "+e.getMessage());
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -26,8 +26,8 @@ public void waitLoadHeaderPGPage() {
try {
By titlePageBy = By.xpath("//a[@title = 'Sito di PagoPA S.p.A.']");
By esciButtonBy = By.xpath("//button[@title = 'Esci']");
this.getWebDriverWait(30).until(ExpectedConditions.visibilityOfElementLocated(titlePageBy));
this.getWebDriverWait(30).until(ExpectedConditions.visibilityOfElementLocated(esciButtonBy));
getWebDriverWait(10).until(ExpectedConditions.visibilityOfElementLocated(titlePageBy));
getWebDriverWait(10).until(ExpectedConditions.visibilityOfElementLocated(esciButtonBy));
logger.info("HeaderSectionPG caricata correttamente");
} catch (TimeoutException e){
logger.error("HeaderSectionPG non caricata correttamente con errrore: "+e.getMessage());
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -27,6 +27,7 @@ public class BackgroundTest {
private final DisserviziAppPGTest disserviziAppPGTest = new DisserviziAppPGTest();
private final HelpdeskTest helpdeskTest = new HelpdeskTest();
private final NotifichePGPagoPATest notifichePGPagoPATest = new NotifichePGPagoPATest();
private final RecapitiTest recapitiTest = new RecapitiTest();
private Map<String, String> datiPersonaFisica;

public BackgroundTest(){
Expand Down Expand Up @@ -252,4 +253,12 @@ public void rifiutoDelegaACaricoDellImpresa(String dpFile) {
deleghePGPagoPATest.siCliccaSulBottoneRifiutaDelega();
deleghePGPagoPATest.siControllaCheLaDelegaNonSiPiuPresenteInElenco();
}

public void aggiuntaEmailDiCortesia(String email) {
recapitiTest.siInserisceLEmailDiCortesiaESiCliccaSulBottoneAvvisamiViaEmail(email);
recapitiTest.siVisualizzaIlPopUpDisclaimerSiCliccaLaCheckboxEIlBottoneConferma();
recapitiPersonaFisicaTest.nellaPaginaITuoiRecapitiSiVisualizzaCorrettamenteIlPopUpDiInserimentoOTP();
recapitiPersonaFisicaTest.nellaPaginaITuoiRecapitiSiRecuperaIlCodiceOTPTramiteChiamataRequestDellEmailEVieneInserito(email);
recapitiTest.siControllaCheLEmailInseritaSiaPresente();
}
}
Loading

0 comments on commit df7cc6a

Please sign in to comment.