Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .idea/misc.xml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

116 changes: 58 additions & 58 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,139 +1,139 @@
# 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.
* deve existir instância de opções para o navegador
* 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. 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
* deve estar carregado no webdrive as propriedades de línguas
* deve existir instância de opções para o navegador
* 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. 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

## 2. Teste Liferay.com

### 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.
* deve existir instância de opções para o navegador
* 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. 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.
* deve existir instância de opções para o navegador
* 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. 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
24 changes: 20 additions & 4 deletions src/test/java/selenium/test/keyword/GoogleTest.java
Original file line number Diff line number Diff line change
Expand Up @@ -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']"));
}
}
47 changes: 32 additions & 15 deletions src/test/java/selenium/test/keyword/GoogleTestWithKeywords.java
Original file line number Diff line number Diff line change
@@ -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<String> languageList;
private List<String> 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());
}
}
2 changes: 1 addition & 1 deletion src/test/resources/google/english-language.properties
Original file line number Diff line number Diff line change
Expand Up @@ -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
2 changes: 1 addition & 1 deletion src/test/resources/google/italian-language.properties
Original file line number Diff line number Diff line change
Expand Up @@ -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
2 changes: 1 addition & 1 deletion src/test/resources/google/portuguese-language.properties
Original file line number Diff line number Diff line change
Expand Up @@ -2,4 +2,4 @@ google-search=Pesquisa Google
im-feeling-luck=Estou com sorte
gmail=Gmail
images=Imagens
sign-in=Fazer Login
about=Sobre
2 changes: 1 addition & 1 deletion src/test/resources/google/spanish-language.properties
Original file line number Diff line number Diff line change
Expand Up @@ -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