Skip to content

Commit

Permalink
Merge remote-tracking branch 'origin/refactor/PF-3964' into fix/gesti…
Browse files Browse the repository at this point in the history
…oneTimeoutTestSuite
  • Loading branch information
angelominisci committed Oct 15, 2024
2 parents cbdda45 + 4dfae60 commit cb5f17c
Show file tree
Hide file tree
Showing 15 changed files with 46 additions and 54 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -13,10 +13,10 @@
public class RecapitiDestinatarioPage extends BasePage {
private final Logger logger = LoggerFactory.getLogger("RecapitiDestinatarioPage");

@FindBy(id = "add-contact")
WebElement confermaButton;
@FindBy(id = "default_pec-button")
WebElement attivaButton;

@FindBy(xpath = "//button[@data-testid='courtesy-email-button']")
@FindBy(id = "default_email-button")
WebElement avvisamiViaEmailButton;

@FindBy(id = "code-confirm-button")
Expand All @@ -37,13 +37,13 @@ public class RecapitiDestinatarioPage extends BasePage {
@FindBy(id = "default_sms")
WebElement inserimentoPhoneField;

@FindBy(id = "cancelContact-default")
@FindBy(id = "cancelContact-default_pec")
WebElement eliminaPECButton;

@FindBy(xpath = "//button[@id='confirmDialog']")
WebElement confermaButtonPoPUpPec;

@FindBy(xpath = "//button[@id='modifyContact-default']")
@FindBy(id = "modifyContact-default_email")
WebElement modificaEmailButton;

@FindBy(id = "sender")
Expand Down Expand Up @@ -77,7 +77,7 @@ public class RecapitiDestinatarioPage extends BasePage {
WebElement pecField;


@FindBy(xpath = "//div[@data-testid='legalContacts']")
@FindBy(id = "default_pec-typography")
WebElement pecEmail;

public RecapitiDestinatarioPage(WebDriver driver) {
Expand Down Expand Up @@ -111,13 +111,13 @@ public void insertEmailPEC(String emailPEC) {
pecField = driver.findElement(By.id("default_pec"));
getWebDriverWait(10).withMessage("input pec field non trovato").until(ExpectedConditions.visibilityOf(pecField));
pecField.sendKeys(emailPEC);
}
}

public void confermaButtonClick() {
WebTool.waitTime(5);
confermaButton = driver.findElement(By.id("add-contact"));
getWebDriverWait(10).withMessage("Il bottone conferma non è cliccabile").until(ExpectedConditions.elementToBeClickable(this.confermaButton));
this.confermaButton.click();
By attivaButton = By.id("default_pec-button");
getWebDriverWait(10).withMessage("Il bottone Attiva non è cliccabile").until(ExpectedConditions.elementToBeClickable(element(attivaButton)));
element(attivaButton).click();
}

public void clickConfermaButtonEliminaPopUp() {
Expand All @@ -134,7 +134,7 @@ public void waitLoadPopUp() {
By titleOption = By.xpath("//div[@data-testid='dialog-content']//p[contains(text(), 'Inserisci codice')]");
List<WebElement> inputBoxes = driver.findElements(By.xpath("//input[contains(@id,'code-input-')]"));
// The message is different in PG and PF
By footerNotReceived = By.xpath("//p[contains(text(), 'Non l’hai ricevuto? Controlla')]");
By footerNotReceived = By.xpath("//div[contains(text(), 'Non l’hai ricevuto?')]");
getWebDriverWait(10).withMessage("Non viene visualizzato correttamente il titolo").until(ExpectedConditions.visibilityOfElementLocated(titleBy));
getWebDriverWait(10).withMessage("La descrizione non viene visualizzata e il testo non è corretto").until(ExpectedConditions.and(
ExpectedConditions.visibilityOfElementLocated(descriptionBy),
Expand Down Expand Up @@ -188,7 +188,7 @@ public void confermaButtonClickPopUp() {
getWebDriverWait(10).until(ExpectedConditions.elementToBeClickable(confermaButtonPopUp));
confermaButtonPopUp.click();
WebTool.waitTime(5);
By confermaButtonPostInserimentoBy = By.xpath("//div[@data-testid='dialog-actions']/button[contains(text(), 'Conferma')]");
By confermaButtonPostInserimentoBy = By.id("code-confirm-button");
if (!driver.findElements(confermaButtonPostInserimentoBy).isEmpty()) {
element(confermaButtonPostInserimentoBy).click();
}
Expand Down Expand Up @@ -252,7 +252,7 @@ public void insertPhone(String cellulare) {

public boolean verificaPecAssociata() {
try {
By pecAssociata = By.id("associatedPEC");
By pecAssociata = By.id("default_pec-typography");
getWebDriverWait(10).withMessage("PEC associata non presente").until(ExpectedConditions.visibilityOfElementLocated(pecAssociata));
return true;
} catch (NoSuchElementException | TimeoutException e) {
Expand Down Expand Up @@ -325,7 +325,7 @@ public boolean siVisualizzaPecInserita() {
}

public void clickSuModifica() {
By modificaMailButton = By.xpath("//button[@id='modifyContact-default']");
By modificaMailButton = By.id("modifyContact-default_email");
getWebDriverWait(10).until(ExpectedConditions.visibilityOfElementLocated(modificaMailButton));
if (modificaEmailButton.isDisplayed()) {
this.modificaEmailButton.click();
Expand All @@ -337,7 +337,7 @@ public void clickSuModifica() {

public void clickSuModificaPEC() {
try {
By modificaButtonBy = By.xpath("//div[@data-testid='legalContacts']//button[@id='modifyContact-default']");
By modificaButtonBy = By.id("modifyContact-default_pec");
this.getWebDriverWait(10).withMessage("Non si riesce a cliccare o vedere il bottone modifica PEC").until(ExpectedConditions.and(
ExpectedConditions.visibilityOfElementLocated(modificaButtonBy),
ExpectedConditions.elementToBeClickable(modificaButtonBy)));
Expand Down Expand Up @@ -535,14 +535,13 @@ public String getPecErrorMessage() {

public boolean verificaBottoneConfermaDisabilitato() {
try {
getWebDriverWait(30).until(ExpectedConditions.visibilityOf(this.confermaButton));
return Boolean.parseBoolean(this.confermaButton.getAttribute("disabled"));
getWebDriverWait(30).until(ExpectedConditions.visibilityOf(this.attivaButton));
return Boolean.parseBoolean(this.attivaButton.getAttribute("disabled"));
} catch (NoSuchElementException | TimeoutException e) {
logger.error("bottone non disabilitato " + e.getMessage());
return false;
}
}

public void clickHoCapitoCheckBoxPopup() {
By hoCapitoCheckboxBy = By.xpath("//span[contains(text(),'Ho capito')]/preceding-sibling::span/input");
WebElement hoCapitoCheckBox = this.driver.findElement(hoCapitoCheckboxBy);
Expand All @@ -551,7 +550,7 @@ public void clickHoCapitoCheckBoxPopup() {
}

public void confermaEmailPopup() {
By popupConfirmButtonBy = By.id("confirmButton");
By popupConfirmButtonBy = By.id("code-confirm-button");
getWebDriverWait(10).until(ExpectedConditions.elementToBeClickable(popupConfirmButtonBy));
this.driver.findElement(popupConfirmButtonBy).click();
}
Expand All @@ -576,7 +575,7 @@ public boolean avvisamiViaEmailIsDisabled() {
}

public void visualizzazioneSezioneAltriRecapiti() {
By altriRecapitiSectionBy = By.id("specialContact");
By altriRecapitiSectionBy = By.id("courtesyContactsTitle");
getWebDriverWait(5).withMessage(" Non si visualizza correttamente il titolo della sezione altri recapiti").until(ExpectedConditions.visibilityOfElementLocated(altriRecapitiSectionBy));
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -19,14 +19,14 @@ public class ITuoiRecapitiPage extends BasePage {
@FindBy(id = "default_sms")
WebElement phoneNumInputField;

@FindBy(xpath = "//button[@data-testid='courtesy-sms-button']")
@FindBy(id = "default_sms-button")
WebElement avvisamiViaSMSButton;

@FindBy(id = "addressType")
WebElement tipoIndirizzoField;

@FindBy(id = "subtitle-page")
List<WebElement> subTitlesSection;
@FindBy(xpath = "//*[@id='legalContactsSection']/p")
WebElement subTitlesSection;

public ITuoiRecapitiPage(WebDriver driver) {
super(driver);
Expand Down Expand Up @@ -114,10 +114,9 @@ public void clickSalvaEmail() {
}

public void eliminaEmailEsistente() {
By eliminaMailButton = By.xpath("//button[@id='cancelContact-default']");
By eliminaMailButton = By.xpath("//button[@id='cancelContact-default_email']");
getWebDriverWait(10).withMessage("il Bottone elimina e-mail non presente").until(ExpectedConditions.elementToBeClickable(eliminaMailButton));
this.js().executeScript("arguments[0].click();", this.element(eliminaMailButton));
logger.info("Log eliminaEmailEsistente: " + driver.getPageSource());
}

public void insertEmail(String emailPEC) {
Expand Down Expand Up @@ -206,7 +205,7 @@ public void selezionaTipoPec() {
}

public void checkPostModifica() {
By saveButton = By.id("saveModifyButton-default");
By saveButton = By.id("saveContact-default_email");
By cancelButton = By.xpath("//button[contains(text(),'Annulla')]");
By emailField = By.id("default_email");
getWebDriverWait(10).withMessage("Non si visualizza il bottone salva e non è cliccabile").until(ExpectedConditions.and(
Expand All @@ -223,26 +222,25 @@ public void checkPostModifica() {

public void checkRiquadroPEC() {
try {
By titleSection = By.xpath("//div[@data-testid='DigitalContactsCardBody']//*/div/div");
By titleSection = By.id("legalContactsTitle");
By pecField = By.id("default_pec");
By confirmButton = By.id("add-contact");
By infoBanner = By.xpath("//span[@data-testid='legal-contact-disclaimer']");
By confirmButton = By.id("default_pec-button");
By infoBanner = By.xpath("//p[@data-testid='DigitalContactsCardDescription']");
getWebDriverWait(10).withMessage("Non si visualizza il titolo della sezione recapito legale o il contenuto è errato").until(ExpectedConditions.and(
ExpectedConditions.visibilityOfElementLocated(titleSection),
ExpectedConditions.attributeToBe(this.element(titleSection), "innerText", "Recapito legale")));
ExpectedConditions.attributeToBe(this.element(titleSection), "innerText", "Recapito a valore legale")));
getWebDriverWait(10).withMessage("Non si visualizza il sottotitolo della sezione recapito legale o il contenuto è errato").until(ExpectedConditions.and(
ExpectedConditions.visibilityOf(subTitlesSection.get(1)),
ExpectedConditions.attributeToBe(subTitlesSection.get(1), "innerText", "Quando c’è una notifica per te, ti inviamo qui l’avviso di avvenuta ricezione. Accedi a SEND per leggerla e pagare eventuali spese.")));
ExpectedConditions.visibilityOf(subTitlesSection),
ExpectedConditions.attributeToBe(subTitlesSection, "innerText", "È il recapito ufficiale che scegli per ricevere comunicazioni a valore legale dalla PA. Se attivi un recapito a valore legale riceverai le notifiche di SEND solo in digitale, senza più preoccuparti dei documenti cartacei.")));
getWebDriverWait(10).withMessage("Non si visualizza il campo pec o non è modificabile").until(ExpectedConditions.and(
ExpectedConditions.visibilityOfElementLocated(pecField),
ExpectedConditions.attributeToBe(this.element(pecField), "readonly", ""),
ExpectedConditions.attributeToBe(this.element(pecField), "placeholder", "Il tuo indirizzo PEC")));
ExpectedConditions.attributeToBe(this.element(pecField), "placeholder", "La tua PEC")));
getWebDriverWait(10).withMessage("Non si visualizza il bottone conferma o non è cliccabile").until(ExpectedConditions.and(
ExpectedConditions.visibilityOfElementLocated(confirmButton),
ExpectedConditions.not(ExpectedConditions.elementToBeClickable(confirmButton))));
getWebDriverWait(10).withMessage("Non si visualizza il banner informativo o il suo contenuto è errato").until(ExpectedConditions.and(
ExpectedConditions.visibilityOfElementLocated(infoBanner),
ExpectedConditions.attributeToBe(this.element(infoBanner), "innerText", "Questo è l’indirizzo principale che verrà utilizzato per inviarti gli avvisi di avvenuta ricezione in via digitale. Inserendolo, non riceverai più raccomandate cartacee.")));
ExpectedConditions.visibilityOf(elements(infoBanner).get(1)),
ExpectedConditions.attributeToBe(this.elements(infoBanner).get(1), "innerText", "Quando un ente invia una comunicazione per te su SEND, ricevi l’avviso ufficiale sulla PEC che hai scelto.")));
logger.info("Il riquadro PEC si visualizza correttamente");
} catch (TimeoutException e) {
logger.error("Il riquadro PEC NON si visualizza correttamente con errori:" + e.getMessage());
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -143,7 +143,7 @@ public void accettaDelegaPF() {

public void aggiuntaEmailPF() {
recapitiPersonaFisicaTest.nellaPaginaITuoiRecapitiSiInserisceLEmailDelPFECliccaSulBottoneAvvisamiViaEmail(nomeFilePersonaFisica);
recapitiPersonaFisicaTest.siVisualizzaCorrettamenteIlPopUpESiCliccaSuConferma();
//recapitiPersonaFisicaTest.siVisualizzaCorrettamenteIlPopUpESiCliccaSuConferma();
recapitiPersonaFisicaTest.nellaPaginaITuoiRecapitiSiRecuperaLOTPDellaEmailTramiteRequestMethod(nomeFilePersonaFisica);
recapitiPersonaFisicaTest.nellaPaginaITuoiRecapitiSiInserisceLOTPRicevutoViaEmail(nomeFilePersonaFisica);
recapitiPersonaFisicaTest.nellaPaginaITuoiRecapitiSiControllaCheLaEmailSiaPresente();
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -86,7 +86,7 @@ public void nellaPaginaITuoiRecapitiSiInserisceLEmailErrata(String emailErrata)
@Then("Nella pagina I Tuoi Recapiti si visualizza correttamente il messaggio email errata")
public void nellaPaginaITuoiRecapitiSiVisualizzaCorrettamenteIlMessaggioEmailErrata() {
String errorMessageRead = recapitiDestinatarioPage.getEmailErrorMessage();
if (!errorMessageRead.contains("Indirizzo e-mail non valido") && !errorMessageRead.contains("Scrivi massimo 254 caratteri")) {
if (!errorMessageRead.contains("Indirizzo email non valido") && !errorMessageRead.contains("Scrivi massimo 254 caratteri")) {
Assert.fail("messaggio di errore letto : '" + errorMessageRead + "' non è uguale a : Indirizzo e-mail non valido o Scrivi massimo 254 caratteri");
}
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -201,8 +201,8 @@ public void nellaPaginaITuoiRecapitiSiInserisceLEmailDelPFECliccaSulBottoneAvvis
public void siVisualizzaCorrettamenteIlPopUpESiCliccaSuConferma() {
logger.info("click pop-up conferma email");

Assert.assertFalse("il popup Conferma email non si visualizza", recapitiDestinatarioPage.verificaPopUpConfermaEmail());
recapitiDestinatarioPage.clickHoCapitoCheckBoxPopup();
//Assert.assertFalse("il popup Conferma email non si visualizza", recapitiDestinatarioPage.verificaPopUpConfermaEmail());
// recapitiDestinatarioPage.clickHoCapitoCheckBoxPopup();
recapitiDestinatarioPage.confermaEmailPopup();
}

Expand Down Expand Up @@ -585,7 +585,7 @@ public void nellaPaginaITuoiRecapitiSiCliccaSulBottoneEliminaEmailESiConfermaNel
ITuoiRecapitiPage iTuoiRecapitiPage = new ITuoiRecapitiPage(this.driver);

iTuoiRecapitiPage.eliminaEmailEsistente();
if (recapitiDestinatarioPage.waitLoadPopUpElimina().equalsIgnoreCase("Rimuovi e-mail")) {
if (recapitiDestinatarioPage.waitLoadPopUpElimina().equalsIgnoreCase("Rimuovi email")) {
recapitiDestinatarioPage.confermaButtonEliminaClick();
} else {
recapitiDestinatarioPage.clickSuChiudiPopUp();
Expand All @@ -601,7 +601,7 @@ public void nellaPaginaITuoiRecapitiSiCliccaSulBottoneEliminaEmailESiAnnullaNelP
ITuoiRecapitiPage iTuoiRecapitiPage = new ITuoiRecapitiPage(this.driver);

iTuoiRecapitiPage.eliminaEmailEsistente();
if (recapitiDestinatarioPage.waitLoadPopUpElimina().equalsIgnoreCase("Rimuovi e-mail")) {
if (recapitiDestinatarioPage.waitLoadPopUpElimina().equalsIgnoreCase("Rimuovi email")) {
recapitiDestinatarioPage.clickButtonAnnullaEliminazioneInPopUp();
} else {
recapitiDestinatarioPage.clickSuChiudiPopUp();
Expand Down Expand Up @@ -1037,7 +1037,7 @@ public void siVisualizzanoCorrettamenteGliElementiPostModifica() {

@When("Nella pagina I Tuoi Recapiti si visualizza correttamente il riquadro relativo alla PEC")
public void nellaPaginaITuoiRecapitiSiVisualizzaCorrettamenteIlRiquadroRelativoAllaPEC() {
logger.info("Si visualizza correttamente il riquadro relativo alla PEC");
logger.info("Si controlla se il riquadro relativo alla PEC visualizzata correttamente");
ITuoiRecapitiPage iTuoiRecapitiPage = new ITuoiRecapitiPage(this.driver);
iTuoiRecapitiPage.checkRiquadroPEC();
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,6 @@ Feature: la persona fisica inserisce un OTP email sbagliato
And Si visualizza correttamente la pagina I Tuoi Recapiti
And Nella pagina I Tuoi Recapiti si controlla che non ci sia già una email
And Si inserisce l'email della "personaFisica" e si clicca sul bottone avvisami via email
And Si visualizza correttamente il pop-up e si clicca su conferma
And Nella pagina I Tuoi Recapiti si visualizza correttamente il pop-up di inserimento OTP
And Nella pagina I Tuoi Recapiti si inserisce OTP sbagliato "15494"
And Nella pagina I Tuoi Recapiti clicca sul bottone conferma
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -10,10 +10,8 @@ Feature: la persona fisica inserisce una Email
And Rimuovi tutti i recapiti se esistono
When Nella pagina Piattaforma Notifiche persona fisica si clicca sul bottone I Tuoi Recapiti
And Si visualizza correttamente la pagina I Tuoi Recapiti
And Nella pagina I Tuoi Recapiti si visualizza correttamente la sezione 'E-mail o numero di cellulare'
And Nella pagina I Tuoi Recapiti si controlla che non ci sia già una email
And Si inserisce l'email della "personaFisica" e si clicca sul bottone avvisami via email
And Si visualizza correttamente il pop-up e si clicca su conferma
And Nella pagina I Tuoi Recapiti si visualizza correttamente il pop-up di inserimento OTP
And Nella pagina I Tuoi Recapiti si recupera l'OTP della Email tramite request method "personaFisica"
And Nella pagina I Tuoi Recapiti si inserisce l'OTP ricevuto via Email "personaFisica"
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
Feature: la persona fisica modifica l'indirizzo Email

@TestSuite
#@TestSuite
@TA_modificaEmailPF
@PF
@recapitiPF
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,6 @@ Feature: la persona fisica inserisce l'OTP numero di telefono errato
When Nella pagina Piattaforma Notifiche persona fisica si clicca sul bottone I Tuoi Recapiti
And Si visualizza correttamente la pagina I Tuoi Recapiti
And Nella pagina I Tuoi Recapiti si inserisce il numero di telefono del PF "personaFisica" e clicca sul bottone avvisami via SMS
And Si visualizza correttamente il pop-up e si clicca su conferma
And Nella pagina I Tuoi Recapiti si visualizza correttamente il pop-up di inserimento OTP
And Nella pagina I Tuoi Recapiti si inserisce OTP sbagliato "15494"
And Nella pagina I Tuoi Recapiti clicca sul bottone conferma
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@ Feature: la persona fisica inserisce un numero di telefono errato
@TA_inserimentoTelefonoErratoPF
@PF
@recapitiPF

Scenario: PN-9311-B37 - La persona fisica inserisce un numero di telefono errato
Given PF - Si effettua la login tramite token exchange come "delegante", e viene visualizzata la dashboard
And Rimuovi tutti i recapiti se esistono
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
Feature: la persona fisica inserisce un indirizzo Email aggiuntivo

@TestSuite
#@TestSuite
@PF
@TA_emailAggiuntivaPF
@recapitiPF
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
Feature: la persona fisica inserisce un indirizzo pec aggiuntivo

@TestSuite
#@TestSuite
@TA_PECAggiuntivaPF
@recapitiPF
@PF
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
Feature: la persona fisica visualizza correttamente la sezione altri recapiti

@TestSuite
#@TestSuite
@TA_visualizzazioneSezioneAltriRecapitiPF
@PF
@recapitiPF
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
Feature: la persona fisica inserisce un recapito aggiuntivo da un ente radice

@TestSuite
#@TestSuite
@TA_inserimentoRecapitoAggiuntivoDaEnteRadicePF
@PF
@recapitiPF
Expand Down
Loading

0 comments on commit cb5f17c

Please sign in to comment.