From 3d2deab75e44749d902df7d394abacf57ef72824 Mon Sep 17 00:00:00 2001 From: LucasMonteiro10 Date: Tue, 13 Jun 2023 23:13:43 -0300 Subject: [PATCH] New tests for other buttons and Fix document --- .idea/misc.xml | 2 +- README.md | 116 +++++++++--------- .../selenium/test/keyword/GoogleTest.java | 24 +++- .../test/keyword/GoogleTestWithKeywords.java | 47 ++++--- .../google/english-language.properties | 2 +- .../google/italian-language.properties | 2 +- .../google/portuguese-language.properties | 2 +- .../google/spanish-language.properties | 2 +- 8 files changed, 115 insertions(+), 82 deletions(-) diff --git a/.idea/misc.xml b/.idea/misc.xml index ee7fab8..9a82ccb 100644 --- a/.idea/misc.xml +++ b/.idea/misc.xml @@ -8,7 +8,7 @@ - + \ No newline at end of file diff --git a/README.md b/README.md index 6ff17bd..4ff8e6a 100644 --- a/README.md +++ b/README.md @@ -1,75 +1,75 @@ -# Utilizando o novo metodo +# Utilizando o novo método -O metodo By.keyword() recebe string como parametro especificamente XPaths. O diferencial 'e que para se for encontrado na string o padrao *${keyword-present}* o metodo substituira em tempo de execucao essa substring pelo valor correspondente presente em um arquivo de propriedade previamente carregado. +O método By.keyword() recebe string como parâmetro especificamente XPaths. O diferencial é caso seja encontrado na string o padrão *${keyword-present}*, o método substituirá em tempo de execução essa substring pelo valor correspondente presente em um arquivo de propriedade previamente carregado. `By.keyword("//*[text()='${keyword-present}']");` -Para carregar uma propriedade no webdriber se utiliza o metodo estatico RemoteWebDriver.addLanguagePropertie() passando como parametro a string com o caminho para o arquivo de propriedade. +Para carregar uma propriedade no webdriber é utilizado o método estático RemoteWebDriver.addLanguagePropertie() passando como parâmetro a string com o caminho para o arquivo de propriedade. `RemoteWebDriver.addLanguagePropertie("path/to/language.properties")` # Configurar ambiente -Para configurar o ambiente 'e necessario executar `mvn install` para que todas as dependencias sejam instaladas. +Para configurar o ambiente é necessário executar `mvn install` para que todas as dependencias sejam instaladas. -Para instalar a versao modificada do Selenium 'e necessario baixar os jars, codigo fontes e arquivos de documentacao pelo por este [Google Drive Link](https://drive.google.com/drive/folders/1i9sfR1VVaHCipVhRfWvY9zbMaoeg5_IB?usp=sharing) e importalo para o projeto. +Para instalar a versão modificada do Selenium é necessário baixar os jars, códigos fonte e arquivos de documentação pelo link [Google Drive Link](https://drive.google.com/drive/folders/1i9sfR1VVaHCipVhRfWvY9zbMaoeg5_IB?usp=sharing) e importa-lo para o projeto. -**Nota**: 'E necessario importar todos os arquicos presentes no diretorio baixado. +**Nota**: É necessário importar todos os arquivos presentes no diretório baixado. # Atividades a serem implementadas ## 1. Teste do Google.com -### Utilizando os metodos conhecidos do Selenium +### Utilizando os métodos conhecidos do Selenium -Crie testes para as linguas: +Crie testes para as línguas: -* Ingles (https://www.google.com/?hl=en) -* Portugues (https://www.google.com/?hl=pt) +* Inglês (https://www.google.com/?hl=en) +* Português (https://www.google.com/?hl=pt) * Espanhol (https://www.google.com/?hl=es) * Italiano (https://www.google.com/?hl=it) -Prerequisitos do teste +Pré-requisitos do teste -* Ja deve existir instancia de opcoes para o navegador -* Ja deve existir instancia de do webdriver para o navegador. +* Já deve existir instância de opções para o navegador +* Já deve existir instância do webdriver para o navegador. Passos do teste -1. Va para a pagina do https://www.google.com/?hl=en (Para a pagina em ingles) -2. Verifique que o botao Google Search esta visivel -3. Verifique que o botao I'm Felling Lucky esta presente -4. Verifique que a ancora Gmail esta presente -5. Verifique que a ancora Imagens esta presente +1. Vá para a página do https://www.google.com/?hl=en (Para a página em inglês) +2. Verifique que o botão Google Search está visivel +3. Verifique que o botão I'm Felling Lucky está presente +4. Verifique que a âncora Gmail está presente +5. Verifique que a âncora Imagens está presente -Apos o cada teste +Após cada teste * Finalize o webdriver. ### Utilizando novo metodo By.keyword -Crie um teste para as linguas: +Crie um teste para as línguas: -* Ingles (https://www.google.com/?hl=en) -* Portugues (https://www.google.com/?hl=pt) +* Inglês (https://www.google.com/?hl=en) +* Português (https://www.google.com/?hl=pt) * Espanhol (https://www.google.com/?hl=es) * Italiano (https://www.google.com/?hl=it) -Prerequisitos do teste +Pré-requisitos do teste -* Ja deve estar carregado no webdrive as propriedades de linguas -* Ja deve existir instancia de opcoes para o navegador -* Ja deve existir instancia de do webdriver para o navegador +* Já deve estar carregado no webdrive as propriedades de línguas +* Já deve existir instância de opções para o navegador +* Já deve existir instância do webdriver para o navegador Passos do teste -1. Va para a pagina do https://www.google.com/?hl=en (Para a pagina em ingles) -2. Verifique que o botao Google Search esta visivel -3. Verifique que o botao I'm Felling Lucky esta presente -4. Verifique que a ancora Gmail esta presente -5. Verifique que a ancora Imagens esta presente +1. Vá para a página do https://www.google.com/?hl=en (Para a página em inglês) +2. Verifique que o botão Google Search esta vísivel +3. Verifique que o botão I'm Felling Lucky esta presente +4. Verifique que a âncora Gmail esta presente +5. Verifique que a âncora Imagens esta presente -Apos o teste +Após o teste * Finalize o webdriver @@ -77,63 +77,63 @@ Apos o teste ### Utilizando os metodos conhecidos do Selenium -Crie testes para as linguas: +Crie testes para as línguas: Site: https://www.liferay.com -* Ingles -* Portugues +* Inglês +* Português * Espanhol * Italiano -* Frances +* Francês -Prerequisitos do teste +Pré-requisitos do teste -* Ja deve existir instancia de opcoes para o navegador -* Ja deve existir instancia de do webdriver para o navegador. +* Já deve existir instância de opções para o navegador +* Já deve existir instância do webdriver para o navegador. Passos do teste -1. Va para a pagina do https://www.liferay.com -2. Click na selecao de linguas no topo da pagina +1. Vá para a página do https://www.liferay.com +2. Click na seleção de línguas no topo da página 3. Selecione a lingua desejada para o teste -4. Verifique se os textos presentes na pagina estao visiveis. +4. Verifique se os textos presentes na página estão visíveis. -Apos o cada teste +Após cada teste 1. Finalize o webdriver. -### Utilizando novo metodo By.keyword +### Utilizando novo método By.keyword -Crie um teste para as linguas: +Crie um teste para as línguas: Site: https://www.liferay.com -* Ingles -* Portugues +* Inglês +* Português * Espanhol * Italiano -* Frances +* Francês -Prerequisitos do teste +Pré-requisitos do teste -* Ja deve existir instancia de opcoes para o navegador -* Ja deve existir instancia de do webdriver para o navegador. +* Já deve existir instância de opções para o navegador +* Já deve existir instância do webdriver para o navegador. Passos do teste -1. Va para a pagina do https://www.liferay.com -2. Click na selecao de linguas no topo da pagina -3. Selecione a lingua desejada para o teste -4. Verifique se os textos presentes na pagina estao visiveis. -5. Repita os passos 2 a 4 ate que todas as linguas tenham sido verificadas. +1. Vá para a página do https://www.liferay.com +2. Click na seleção de línguas no topo da página +3. Selecione a língua desejada para o teste +4. Verifique se os textos presentes na página estão visíveis. +5. Repita os passos 2 a 4 ate que todas as línguas tenham sido verificadas. -Apos o cada teste +Após cada teste 1. Finalize o webdriver. ## Formulario -Ao final 'e necessario preencher um formulario com algumas perguntas sobre sua experiencia com a ferramenta: +Ao final é necessário preencher o seguinte formulário com algumas perguntas sobre sua experiência com a ferramenta: Link: https://forms.gle/hJ7LrecciwALV95m8 diff --git a/src/test/java/selenium/test/keyword/GoogleTest.java b/src/test/java/selenium/test/keyword/GoogleTest.java index a15a1d1..43c0c09 100644 --- a/src/test/java/selenium/test/keyword/GoogleTest.java +++ b/src/test/java/selenium/test/keyword/GoogleTest.java @@ -37,21 +37,37 @@ void tearDown() { @Test void TestEnglishGooglePage() { - + webDriver.get("https://www.google.com/?hl=en"); + webDriver.findElement(By.xpath("//*[contains(@value,'Google Search')]")); + webDriver.findElement(By.xpath("//*[contains(@value,\"I'm Feeling Luck\")]")); + webDriver.findElement(By.xpath("//*[text()='Gmail']")); + webDriver.findElement(By.xpath("//*[text()='Images']")); } @Test void TestPortugueseGooglePage() { - + webDriver.get("https://www.google.com/?hl=pt"); + webDriver.findElement(By.xpath("//*[contains(@value,'Pesquisa Google')]")); + webDriver.findElement(By.xpath("//*[contains(@value,'Estou com sorte')]")); + webDriver.findElement(By.xpath("//*[text()='Gmail']")); + webDriver.findElement(By.xpath("//*[text()='Imagens']")); } @Test void TestSpanishGooglePage() { - + webDriver.get("https://www.google.com/?hl=es"); + webDriver.findElement(By.xpath("//*[contains(@value,'Buscar con Google')]")); + webDriver.findElement(By.xpath("//*[contains(@value,'Voy a tener suerte')]")); + webDriver.findElement(By.xpath("//*[text()='Gmail']")); + webDriver.findElement(By.xpath("//*[text()='Imágenes']")); } @Test void TestItalianGooglePage() { - + webDriver.get("https://www.google.com/?hl=it"); + webDriver.findElement(By.xpath("//*[contains(@value,'Cerca con Google')]")); + webDriver.findElement(By.xpath("//*[contains(@value,'Mi sento fortunato')]")); + webDriver.findElement(By.xpath("//*[text()='Gmail']")); + webDriver.findElement(By.xpath("//*[text()='Immagini']")); } } diff --git a/src/test/java/selenium/test/keyword/GoogleTestWithKeywords.java b/src/test/java/selenium/test/keyword/GoogleTestWithKeywords.java index ab17d0a..e5ba75a 100644 --- a/src/test/java/selenium/test/keyword/GoogleTestWithKeywords.java +++ b/src/test/java/selenium/test/keyword/GoogleTestWithKeywords.java @@ -1,41 +1,58 @@ package selenium.test.keyword; import io.github.bonigarcia.wdm.WebDriverManager; -import org.junit.jupiter.api.AfterEach; -import org.junit.jupiter.api.Assertions; import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.Test; -import org.openqa.selenium.WebDriver; +import org.junit.jupiter.api.AfterEach; +import org.junit.jupiter.api.Assertions; import org.openqa.selenium.By; import org.openqa.selenium.chrome.ChromeDriver; -import org.openqa.selenium.chrome.ChromeOptions; -import org.openqa.selenium.chromium.ChromiumDriver; -import org.openqa.selenium.chromium.ChromiumOptions; -import org.openqa.selenium.firefox.FirefoxDriver; -import org.openqa.selenium.firefox.FirefoxOptions; import org.openqa.selenium.remote.RemoteWebDriver; +import org.openqa.selenium.WebDriver; +import org.openqa.selenium.WebElement; import java.util.ArrayList; import java.util.List; public class GoogleTestWithKeywords { - WebDriver webDriver; - List languageList; + private List languages; + private WebDriver webDriver; @BeforeEach - void setUp() { + public void setUp() { WebDriverManager.chromedriver().setup(); - ChromeOptions options = new ChromeOptions(); - webDriver = new ChromeDriver(options); + webDriver = new ChromeDriver(); + RemoteWebDriver.addLanguagePropertie("src/test/resources/google/portuguese-language.properties"); + RemoteWebDriver.addLanguagePropertie("src/test/resources/google/english-language.properties"); + RemoteWebDriver.addLanguagePropertie("src/test/resources/google/italian-language.properties"); + RemoteWebDriver.addLanguagePropertie("src/test/resources/google/spanish-language.properties"); + languages = new ArrayList<>(); + languages.add("pt"); + languages.add("en"); + languages.add("es"); + //languages.add("it"); } @AfterEach - void tearDown() { + public void tearDown() { webDriver.close(); } @Test - void TestGooglePage() { + public void googleTest2() { + for(String language : languages) { + webDriver.get("https://www.google.com/?hl=" + language); + assertElementIfVisible("(//*[@aria-label=\"${google-search}\"])[2]"); + assertElementIfVisible("(//*[@aria-label=\"${im-feeling-luck}\"])[2]"); + assertElementIfVisible("//*[text()=\"${gmail}\"]"); + assertElementIfVisible("//*[text()=\"${images}\"]"); + assertElementIfVisible("//*[text()=\"${about}\"]"); + } + } + private void assertElementIfVisible(String keyword) { + By by = By.keyword(keyword); + WebElement element = webDriver.findElement(by); + Assertions.assertTrue(element.isDisplayed()); } } diff --git a/src/test/resources/google/english-language.properties b/src/test/resources/google/english-language.properties index 27e1779..5ceada2 100644 --- a/src/test/resources/google/english-language.properties +++ b/src/test/resources/google/english-language.properties @@ -2,4 +2,4 @@ google-search=Google Search im-feeling-luck=I'm Feeling Lucky gmail=Gmail images=Images -sign-in=Sign in +about=About diff --git a/src/test/resources/google/italian-language.properties b/src/test/resources/google/italian-language.properties index 7785594..41670d6 100644 --- a/src/test/resources/google/italian-language.properties +++ b/src/test/resources/google/italian-language.properties @@ -2,4 +2,4 @@ google-search=Cerca con Google im-feeling-luck=Mi sento fortunato gmail=Gmail images=Immagini -sign-in=Accedi +about=Chi siamo diff --git a/src/test/resources/google/portuguese-language.properties b/src/test/resources/google/portuguese-language.properties index 5192c6b..3f4f1d6 100644 --- a/src/test/resources/google/portuguese-language.properties +++ b/src/test/resources/google/portuguese-language.properties @@ -2,4 +2,4 @@ google-search=Pesquisa Google im-feeling-luck=Estou com sorte gmail=Gmail images=Imagens -sign-in=Fazer Login +about=Sobre diff --git a/src/test/resources/google/spanish-language.properties b/src/test/resources/google/spanish-language.properties index c86808f..5ea7555 100644 --- a/src/test/resources/google/spanish-language.properties +++ b/src/test/resources/google/spanish-language.properties @@ -2,4 +2,4 @@ google-search=Buscar con Google im-feeling-luck=Voy a tener suerte gmail=Gmail images=Imágenes -sign-in=Iniciar sesión +about=Sobre Google