Skip to content

Commit

Permalink
Remove Test Suite FE Destinatario irreperibile (#216)
Browse files Browse the repository at this point in the history
* Remove Test Suite FE Destinatario irreperibile

* fix test TA_loginpersonaFisica

* ADD log

* Remove Log

* remove log

* fix test

* - fix

* Fix test PN-10245-B

* fix test

* - fix

* fix

* add tag

* fix

* Remove tag

* * created bis scenario for : @VisualizzaNotificaMonoDestinatarioConUnElementoInTimelineAR , @CheckNotificaConDocumentiAllegatiPG and

* prova fix

* add log

* fix labet button test

* add log

* add wait

* modifify

* add wait

* refactor

* add wait

* add log

* fix

* Add wait

* fix

* Remove log

* fix test

* fix

* * Refactor su test Recapiti PF

* * Refactor su test Recapiti PF

* * Refactor su test Recapiti PF

* * Refactor su test Recapiti PF

* * Final commit

* * Final commit

* * Refactor Recapiti PG

* * Minor fix

* * Minor fix

* add tag 120

* * Eliminated TestSuite tag from "@TA_PGRuoloOperatoreControlloAssenzaDeleghe" until missing ragione sociale is resolved
* Fixed TA_PGdeleganteAggiuntaDelegaDuplicata ,  PN-10389 and PN-9147

* minor fix

* minor fix

* minor fix

* minor fix

* minor fix

* minor fix

* add index 120 gg

* fix

* Revert

* fix

* fix

* fix

* fix feature

* refactor

* FIX

---------

Co-authored-by: AlimaZhansultan <[email protected]>
  • Loading branch information
angelominisci and azhansultan authored Oct 22, 2024
1 parent 6478e10 commit 7bec24a
Show file tree
Hide file tree
Showing 60 changed files with 303 additions and 194 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,8 @@
import java.util.List;
import java.util.Map;

import static org.openqa.selenium.support.ui.ExpectedConditions.elementToBeClickable;

public class DettaglioNotificaSection extends BasePage {
private static final Logger logger = LoggerFactory.getLogger("DettaglioNotificaSection");

Expand Down Expand Up @@ -76,6 +78,14 @@ public void clickLinkAttestazioniOpponibile(int numeroLinkAttestazioniOpponibile
}
}

public void toBeClickableLinkAttestazioniOpponibile(int numeroLinkAttestazioniOpponibile) {
WebTool.waitTime(2);
attestazioniFile = driver.findElements(By.xpath("//button[contains(text(),'Attestazione opponibile a terzi: notifica presa in carico')]"));
if (attestazioniFile.get(numeroLinkAttestazioniOpponibile).isDisplayed()) {
getWebDriverWait(10).withMessage("Il link non è cliccabile").until(elementToBeClickable(attestazioniFile.get(numeroLinkAttestazioniOpponibile)));
}
}

public void clickLinkDocumentiAllegati(int numeroLinkDocumentiAllegati) {
if (documentiAllegati.get(numeroLinkDocumentiAllegati).isDisplayed()) {
documentiAllegati.get(numeroLinkDocumentiAllegati).click();
Expand Down
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 @@ -28,7 +28,7 @@ public class RecapitiDestinatarioPage extends BasePage {
@FindBy(xpath = "//button[@data-testid='add email']")
WebElement avvisamiMailButton;

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

@FindBy(id = "default_email")
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 Expand Up @@ -693,7 +692,7 @@ public void clickSuBottoneCellulareDiCortesia(String actionButton) {
}

public void clickSuBottoneEmailDiCortesia(String actionButton) {
By bottoneActionBy = By.xpath("//form[contains(., 'Indirizzo e-mail')]//button[contains(text(), '" + actionButton + "')]");
By bottoneActionBy = By.xpath("//button[contains(text(), '" + actionButton + "')]");
getWebDriverWait(10).withMessage("Il bottone non è cliccabile").until(ExpectedConditions.visibilityOfElementLocated(bottoneActionBy));
this.element(bottoneActionBy).click();
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -310,41 +310,39 @@ public void checkoutPagamento() throws InterruptedException {
driver.switchTo().defaultContent();

WebTool.waitTime(5);

WebElement continuaBottone = driver.findElement(By.xpath("//button[@aria-label='Continua']") );
getWebDriverWait(7).withMessage("Il bottone Continua non è cliccabile").until(ExpectedConditions.elementToBeClickable(continuaBottone));
WebElement continuaBottone = driver.findElement(By.xpath("//button[@aria-label='Continue']") ); //for local test use //button[@aria-label='Continua']
getWebDriverWait(8).withMessage("Il bottone Continua non è cliccabile").until(ExpectedConditions.elementToBeClickable(continuaBottone));
continuaBottone.click();

WebTool.waitTime(2);
WebTool.waitTime(10);

//Select Nexi
WebElement modificaButton = driver.findElement(By.xpath("//button[@aria-label='Modifica PSP']"));
WebElement modificaButton = driver.findElement(By.xpath("//button[@aria-label='Change payment service provider (PSP)']")); //for local test use //button[@aria-label='Modifica PSP']
getWebDriverWait(5).withMessage("Il bottone modifica non è cliccabile").until(ExpectedConditions.elementToBeClickable(modificaButton));
modificaButton.click();

WebTool.waitTime(2);

List<WebElement> nexiButton = driver.findElements(By.xpath("//div[contains(text(),'Nexi')]"));
WebTool.waitTime(10);
List<WebElement> nexiButton = driver.findElements(By.xpath("//div[contains(text(),'Intesa Sanpaolo S.p.A')]"));
WebTool.waitTime(10);
//getWebDriverWait(10).withMessage("Il bottone Nexi non è cliccabile").until(ExpectedConditions.elementToBeClickable(nexiButton));
if (nexiButton.size()==2){
nexiButton.get(1).click();
}else {
nexiButton.get(0).click();
}
WebTool.waitTime(2);
WebTool.waitTime(5);

WebElement pagaButton = driver.findElement(By.xpath("//button[@id='paymentCheckPageButtonPay']"));
getWebDriverWait(5).withMessage("Il bottone Paga non è cliccabile").until(ExpectedConditions.elementToBeClickable(pagaButton));
pagaButton.click();
WebTool.waitTime(35);
List<WebElement> chiudi = driver.findElements(By.xpath("//button[contains(text(),'Chiudi')]"));
WebTool.waitTime(50);
List<WebElement> chiudi = driver.findElements(By.xpath("//button[contains(text(),'Continue')]")); //for local test use //button[@aria-label='Continua']
getWebDriverWait(10).withMessage("Il bottone Chiudi non è cliccabile").until(ExpectedConditions.elementToBeClickable(chiudi.get(0)));
chiudi.get(0).click();
}

public void siVisualizzaStatoPagato() {
WebTool.waitTime(10);
WebTool.waitTime(20);
By statoPagamento = By.xpath("//div[@id='status-chip-Pagato']");
getWebDriverWait(5).withMessage("Lo stato di pagamento non è visibile").until(ExpectedConditions.visibilityOfElementLocated(statoPagamento));
logger.info("Lo stato di pagamento è Pagato");
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(0)),
ExpectedConditions.attributeToBe(this.elements(infoBanner).get(0), "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 @@ -324,6 +324,9 @@ public void inserimentoCodiceDelegaACaricoDellImpresaAPI(String codiceDelega) {

public boolean siVisualizzaUnaDelegaPG() {
try {
By menuDelegati = By.id("tab-1");
this.getWebDriverWait(10).until(ExpectedConditions.visibilityOfElementLocated(menuDelegati));
element(menuDelegati).click();
By menuDelega = By.xpath("//button[@data-testid='delegationMenuIcon']");
this.getWebDriverWait(10).until(ExpectedConditions.visibilityOfElementLocated(menuDelega));
logger.info("Trovato correttamente almeno una delega");
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -117,17 +117,25 @@ public void clickSuDelegeButton() {
}
}

public void clickNotificheDelegate() {
public void clickNotificheENotificheDelegate() {
WebTool.waitTime(5);
getWebDriverWait(10).until(ExpectedConditions.visibilityOf(this.sideItemNotificheButton));
sideItemNotificheButton.click();
WebTool.waitTime(10);
By notificheDelegateButton = By.id("side-item-Notifiche delegate");
By notificheDelegateButton = By.id("menu-item(notifiche delegate)");
this.getWebDriverWait(10).until(ExpectedConditions.elementToBeClickable(notificheDelegateButton));
this.js().executeScript("arguments[0].click()", this.element(notificheDelegateButton));
logger.info("Si clicca correttamente sulla voce notifiche delegate");
}

public void clickNotificheDelegate() {
WebTool.waitTime(5);
By notificheDelegateButton = By.id("menu-item(notifiche delegate)");
this.getWebDriverWait(10).until(ExpectedConditions.elementToBeClickable(notificheDelegateButton));
this.js().executeScript("arguments[0].click()", this.element(notificheDelegateButton));
logger.info("Si clicca correttamente sulla voce notifiche delegate");
}

public void waitLoadSezioneNotificheDelegate(String ragioneSociale) {
try {
By notificheDelegatePageTitle = By.id("Notifiche delegate a " + ragioneSociale + "-page");
Expand Down
Loading

0 comments on commit 7bec24a

Please sign in to comment.