Skip to content

Commit

Permalink
merge conflicts resolved
Browse files Browse the repository at this point in the history
  • Loading branch information
Gabriiii99 committed May 7, 2024
2 parents 1dae575 + 0bdd8c0 commit 0ae38d9
Show file tree
Hide file tree
Showing 23 changed files with 577 additions and 58 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -124,12 +124,12 @@ public void waitLoadPopUp() {
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')]");
getWebDriverWait(10).until(ExpectedConditions.visibilityOfElementLocated(titleBy));
getWebDriverWait(10).until(ExpectedConditions.and(
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),
ExpectedConditions.attributeContains(descriptionBy, "textContent", "Il codice è valido per 15 minuti.")));
getWebDriverWait(10).until(ExpectedConditions.visibilityOfElementLocated(titleOption));
getWebDriverWait(10).until(ExpectedConditions.visibilityOfAllElements(inputBoxes));
getWebDriverWait(10).withMessage("La scritta 'Inserisci codice' non viene visualizzata correttamente").until(ExpectedConditions.visibilityOfElementLocated(titleOption));
getWebDriverWait(10).withMessage("Le input boxes non vengono visualizzate").until(ExpectedConditions.visibilityOfAllElements(inputBoxes));
if (inputBoxes.size() != 5) {
Assert.fail("Il numero di input box non è corretto");
}
Expand Down Expand Up @@ -233,7 +233,7 @@ public void insertPhone(String cellulare) {
public boolean verificaPecAssociata() {
try {
By pecAssociata = By.id("associatedPEC");
getWebDriverWait(10).until(ExpectedConditions.visibilityOfElementLocated(pecAssociata));
getWebDriverWait(10).withMessage("PEC associata non presente").until(ExpectedConditions.visibilityOfElementLocated(pecAssociata));
return true;
} catch (TimeoutException e) {
logger.error("pec associata non trovata" + e.getMessage());
Expand Down Expand Up @@ -272,6 +272,17 @@ public boolean verificaMailAssociata() {
getWebDriverWait(5).withMessage("L'email di cortesia non è presente").until(ExpectedConditions.visibilityOf(emailAssociata));
return true;
} catch (TimeoutException e) {
logger.info("Nessuna email di cortesia impostata");
return false;
}
}

public boolean verificaNumeroDiCellulareAssociato() {
try {
getWebDriverWait(5).withMessage("Il numero di cellulare associato non è presente").until(ExpectedConditions.visibilityOf(cellulareAssociato));
return true;
} catch (TimeoutException e) {
logger.info("Nessun numero di cellulare di cortesia impostato");
return false;
}
}
Expand Down Expand Up @@ -641,40 +652,40 @@ public void checkNumeroDiCellulareCorretto(String cellulare) {
ExpectedConditions.attributeToBe(cellulareAssociato, "innerText", "+39" + cellulare)));
}

public void clickSuBottoneCellulareDiCortesia(String actionButton){
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){
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(){
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){
} 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(){
public void checkCampoEmailModificabile() {
try {
getWebDriverWait(10).withMessage("Campo email non modificabile").until(ExpectedConditions.visibilityOf(inserimentoMailField));
} catch (TimeoutException e){
} 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(){
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");
Expand All @@ -686,9 +697,24 @@ public void checkDisclaimer(){
getWebDriverWait(10).withMessage("Bottone conferma non visualizzato o cliccabile").until(ExpectedConditions.and(
ExpectedConditions.visibilityOfElementLocated(confermaButtonBy),
ExpectedConditions.attributeToBe(confermaButtonBy, "disabled", "true")));
} catch (TimeoutException e){
} 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());
}
}

public void checkMessaggioErroreTreTentativiOTPSbagliato() {
try {
By messageContainer = By.id("error-alert");
By modalErrorTitle = By.id("codeModalErrorTitle");
getWebDriverWait(10).withMessage("Titolo di errore della modale non visualizzato").until(ExpectedConditions.visibilityOfElementLocated(modalErrorTitle));
getWebDriverWait(10).withMessage("Il messaggio di errore non viene visualizzato e il testo non è corretto").until(ExpectedConditions.and(
ExpectedConditions.visibilityOfElementLocated(messageContainer),
ExpectedConditions.attributeContains(messageContainer, "textContent", "Hai fatto troppi tentativiHai inserito troppe volte un codice sbagliato. Per riprovare premi “Annulla”, assicurati che il contatto sia corretto e inserisci il nuovo codice.")
));
} catch (TimeoutException e) {
logger.error("Il messaggio di errore non viene visualizzato correttamente con errore: " + e.getMessage());
Assert.fail("Il messaggio di errore non viene visualizzato correttamente con errore: " + e.getMessage());
}
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -884,4 +884,9 @@ public void verificaDestinatariNonRaggiungibili(Map<String, String> destinatari)
}
}

public void verificaNotificheNonDisponibili(){
By noResultField = By.xpath("//div[@data-testid='emptyState']");
getWebDriverWait(5).withMessage("Ci sono risultati disponibili per il filtro di ricerca").until(ExpectedConditions.visibilityOfElementLocated(noResultField));
}

}
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']");
getWebDriverWait(10).until(ExpectedConditions.visibilityOfElementLocated(titlePageBy));
getWebDriverWait(10).until(ExpectedConditions.visibilityOfElementLocated(esciButtonBy));
getWebDriverWait(30).until(ExpectedConditions.visibilityOfElementLocated(titlePageBy));
getWebDriverWait(30).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 @@ -11,6 +11,8 @@
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;

import java.util.List;

public class AllegatiPASection extends BasePage {

private static final Logger logger = LoggerFactory.getLogger("AllegatiSection");
Expand All @@ -23,6 +25,10 @@ public class AllegatiPASection extends BasePage {

@FindBy(id = "documents.0.name")
WebElement nomeAttoTextField;
@FindBy(id = "documents.1.name")
WebElement nomeSecondoAttoTextField;
@FindBy(id = "documents.2.name")
WebElement nomeTerzoAttoTextField;

@FindBy(xpath = "//button[@data-testid='step-submit']")
WebElement inviaButton;
Expand Down Expand Up @@ -50,6 +56,26 @@ public void caricareNotificaPdfDalComputer(String pathNotificaFile) {
this.selezionaloDalTuoComputerInput.sendKeys(pathNotificaFile);
}
}
public void messagioDiErroreDoc(){
By errorMessageDoc = By.id("file-upload-error");
getWebDriverWait(5).withMessage("Il messagio di formato errato non è visibile").until(ExpectedConditions.visibilityOfElementLocated(errorMessageDoc));
}

public void checkCodiceHash(){
By codiceHash = By.id("file-upload-hash-code");
getWebDriverWait(5).withMessage("Il codice hash non è visibile").until(ExpectedConditions.visibilityOfElementLocated(codiceHash));
}

public void clickAggiungiNuovoDocumento(){
By addNewDocuments = By.xpath("//*[@data-testId='add-another-doc']");
getWebDriverWait(5).withMessage("Il bottone aggiungi nuovo documento non è cliccabile").until(ExpectedConditions.elementToBeClickable(addNewDocuments));
this.element(addNewDocuments).click();
}

public void eliminaAtto(){
List<WebElement> deleteIcons = driver.findElements(By.xpath("//*[@data-testid='DeleteIcon']"));
deleteIcons.get(0).click();
}

public boolean verificaCaricamentoNotificaPdf() {
getWebDriverWait(30).until(ExpectedConditions.visibilityOf(this.hashCodeTextField));
Expand All @@ -65,6 +91,22 @@ public void inserimentoNomeAllegato(String nomeAtto) {
this.nomeAttoTextField.click();
this.nomeAttoTextField.sendKeys(nomeAtto);
}
public void inserimentoNomeSecondoAllegato(String nomeAtto) {
if (!this.nomeSecondoAttoTextField.isDisplayed()) {
this.js().executeScript("arguments[0].scrollIntoView(true)", this.nomeSecondoAttoTextField);
}
logger.info("inserimento nome allegato");
this.nomeSecondoAttoTextField.click();
this.nomeSecondoAttoTextField.sendKeys(nomeAtto);
}
public void inserimentoNomeTerzoAllegato(String nomeAtto) {
if (!this.nomeTerzoAttoTextField.isDisplayed()) {
this.js().executeScript("arguments[0].scrollIntoView(true)", this.nomeTerzoAttoTextField);
}
logger.info("inserimento nome allegato");
this.nomeTerzoAttoTextField.click();
this.nomeTerzoAttoTextField.sendKeys(nomeAtto);
}

public void selectInviaButton() {
getWebDriverWait(40).until(ExpectedConditions.elementToBeClickable(this.inviaButton));
Expand All @@ -83,3 +125,4 @@ public boolean verificaMessaggioErrore() {
}
}
}

Original file line number Diff line number Diff line change
Expand Up @@ -2,10 +2,7 @@

import it.pn.frontend.e2e.common.BasePage;
import org.junit.Assert;
import org.openqa.selenium.By;
import org.openqa.selenium.TimeoutException;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.*;
import org.openqa.selenium.support.FindBy;
import org.openqa.selenium.support.ui.ExpectedConditions;
import org.slf4j.Logger;
Expand Down Expand Up @@ -54,7 +51,7 @@ public class DestinatarioPASection extends BasePage {
@FindBy(id = "recipients[0].foreignState")
WebElement statoTextField;

@FindBy(xpath = "//button[contains(@data-testid,'add-recipient')]")
@FindBy(id = "add-recipient")
WebElement aggiungiDestinatarioButton;

@FindBy(xpath = "//button[contains(@data-testid,'DeleteRecipientIcon')]")
Expand Down Expand Up @@ -131,6 +128,21 @@ public void inserireCodiceFiscaleDestinatario(String codiceFiscale) {
this.scrollToElementClickAndInsertText(this.codiceFiscaleDestinatarioTextField, codiceFiscale);
}

public boolean checkCampiDestinatarioPopalati(){

if (!nomeDestinatarioTextField.getAttribute("value").isEmpty() &&
!cognomeDestinatarioTextField.getAttribute("value").isEmpty() &&
!codiceFiscaleDestinatarioTextField.getAttribute("value").isEmpty()
) {
logger.info("I campi sono popolati");
return true;
}else{
logger.info("I campi non sono popolati");
return false;
}

}

public void selezionaAggiungiUnIndirizzoFisico() {
logger.info("click su scelta indirizzo fisico");
this.aggiungiUnIndirizzoFisicoCheckBox.click();
Expand Down Expand Up @@ -252,9 +264,11 @@ public boolean inserireIlSestoDestinatario() {

public void waitMessaggioErrore() {
try {
By errorMessage = By.xpath("//p[@id='recipients[1].taxId-helper-text']");
this.getWebDriverWait(30).until(ExpectedConditions.visibilityOfElementLocated(errorMessage));
logger.info("Il messaggio di errore viene visualizzato");
By errorMessagePrimoDestinatario = By.xpath("//p[@id='recipients[0].taxId-helper-text']");
By errorMessageSecondoDestinatario = By.xpath("//p[@id='recipients[1].taxId-helper-text']");
getWebDriverWait(10).withMessage("Non si visualizza il messaggio di errore del primo destinatario").until(ExpectedConditions.visibilityOfElementLocated(errorMessagePrimoDestinatario));
getWebDriverWait(10).withMessage("Non si visualizza il messaggio di errore del secondo destinatario").until(ExpectedConditions.visibilityOfElementLocated(errorMessageSecondoDestinatario));
logger.info("I messaggi di errore vengono visualizzati correttamente");
} catch (TimeoutException e) {
logger.error("Il messaggio di errore non viene visualizzato con errore: " + e.getMessage());
Assert.fail("Il messaggio di errore non viene visualizzato con errore: " + e.getMessage());
Expand Down Expand Up @@ -374,4 +388,34 @@ public boolean verificaNumeroDestinatari() {
logger.info("TA_QA: si verifica il numero dei destinatari");
return this.rimuoviDestinatarioButtons.isEmpty();
}

public void selezionarePersonaFisicaMultiDestinatario(int numeroDestinatario) {
logger.info("selezione pf su checkbox del destinatario numero: " + (numeroDestinatario + 1));
By personaFisicaCheckBox = By.xpath("//label[@id='recipient-pf' and @data-testid='recipientType" + numeroDestinatario + "']/span");
List<WebElement> personaFisicaCheckBoxElement = driver.findElements(personaFisicaCheckBox);
this.js().executeScript("arguments[0].scrollIntoView(true);", personaFisicaCheckBoxElement.get(0));
getWebDriverWait(10).withMessage("Checkbox di persona fisica non visibile del destinatario numero " + (numeroDestinatario + 1)).until(ExpectedConditions.visibilityOf(personaFisicaCheckBoxElement.get(0)));
personaFisicaCheckBoxElement.get(0).click();
}

public void inserireNomeMultiDestinatario(int numeroDestinatario, String nomeDestinatario) {
logger.info("inserimento nome del destinatario numero " + (numeroDestinatario + 1));
By nomeDestinatarioTextFieldBy = By.id("recipients[" + numeroDestinatario + "].firstName");
WebElement nomeDestinatarioTextField = driver.findElement(nomeDestinatarioTextFieldBy);
this.scrollToElementClickAndInsertText(nomeDestinatarioTextField, nomeDestinatario);
}

public void inserireCognomeMultiDestinatario(int numeroDestinatario, String nomeDestinatario) {
logger.info("inserimento cognome del destinatario numero " + (numeroDestinatario + 1));
By cognomeDestinatarioTextFieldBy = By.id("recipients[" + numeroDestinatario + "].lastName");
WebElement cognomeDestinatarioTextField = driver.findElement(cognomeDestinatarioTextFieldBy);
this.scrollToElementClickAndInsertText(cognomeDestinatarioTextField, nomeDestinatario);
}

public void inserireCodiceFiscaleMultiDestinatario(int numeroDestinatario, String codiceFiscale) {
logger.info("inserimento codice fiscale del destinatario numero " + (numeroDestinatario + 1));
By codiceFiscaleDestinatarioTextFieldBy = By.id("recipients[" + numeroDestinatario + "].taxId");
WebElement codiceFiscaleDestinatarioTextField = driver.findElement(codiceFiscaleDestinatarioTextFieldBy);
this.scrollToElementClickAndInsertText(codiceFiscaleDestinatarioTextField, codiceFiscale);
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -65,6 +65,16 @@ public void insertNumeroDiProtocollo(String numeroProtocollo) {
scrollToElementClickAndInsertText(numeroProtocolloTextInput, numeroProtocollo);
}

public boolean checkFormInfoPreliminari(){
if (oggettoNotificaTextField.getAttribute("value").isEmpty() && descrizioneTextField.getAttribute("value").isEmpty()) {
logger.info("Il form di inserimento manuale della notifica è vuoto");
return true;
}else {
logger.info("Il form di inserimento manuale della notifica non è vuoto");
return false;
}
}

public void insertOggettoNotifica(String oggettoDellaNotifica) {
logger.info("inserimento oggetto notifica");
this.scrollToElementClickAndInsertText(this.oggettoNotificaTextField, oggettoDellaNotifica);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -327,4 +327,13 @@ public void checkEmailDiCortesiaPerEliminazioneEInserimento(String emailDiCortes
}
WebTool.waitTime(10);
}

public void inserimentoOTPErratoTreVolteEControlloMessaggio(String OTP) {
recapitiPersonaFisicaTest.nellaPaginaITuoiRecapitiSiVisualizzaCorrettamenteIlPopUpDiInserimentoOTP();
recapitiPersonaFisicaTest.nellaPaginaITuoiRecapitiSiInserisceOTPSbagliato(OTP);
for(int i = 0; i < 3; i++){
recapitiPersonaFisicaTest.nellaPaginaITuoiRecapitiCliccaSulBottoneConferma();
}
recapitiTest.siVisualizzaCorrettamenteIlMessaggioDiErroreDeiTreTentativi();
}
}
Loading

0 comments on commit 0ae38d9

Please sign in to comment.