Name Last Update
TestNGResources Loading commit data...
driver Loading commit data...
src Loading commit data...
.gitignore Loading commit data...
README.md Loading commit data...
pom.xml Loading commit data...
testng.xml Loading commit data...

README.md

TESTING - REGRESSION

SARI-Admin Build Status

SARI-Common Build Status

PORTAL Build Status

VALIDATOR Build Status

Geckodriver versions: https://github.com/mozilla/geckodriver/releases

Exemplo de classe de testes:

Data Provider a partir de ficheiro csv ou excel

Foi adicionada a possibilidade de introduzir urls a partir de um ficheiro csv ou excel Estes estão na pasta TestNGResources: provider.csv ou provider.xls. Para inclui, adicionar ao teste (exemplos):

@Test(dataProvider = "csv", dataProviderClass = CustomDataProvider.class)

ou

@Test(dataProvider = "excel-sari", dataProviderClass = CustomDataProvider.class)

Ver na classe CustomDataProvider os tipos existentes.

  • A vantagem é que apenas é necessário mexer no ficheiro excel ou csv para os URL a testar. Nestes ficheiros, se pretendermos que um URL não seja executado, coloca-se N na coluna run
  • Também é possível adicionar mais URLs e, no fichiro xls adicionar outros Sheets. Contudo, se não existir na classe CustomDataProvider, tem de se adicionar a esta.

Com dataprovider (urls no código da classe java)

package testng.rcaap.validator;

import static org.testng.Assert.assertTrue;
import org.openqa.selenium.By;
import org.testng.annotations.Test;
import dataproviders.DataProviderPortalValidartor;
import testng.rcaap.TestBase;

public class VerifyContactTest extends TestBase{

    @Test(dataProvider = "validators-url", dataProviderClass = DataProviderPortalValidartor.class)
    public void testVerifyContact(String baseUrl) throws Exception {
        driver.get(baseUrl + "/validator2/");
        driver.findElement(By.xpath("//a[contains(@href, 'contact')]")).click();
        driver.findElement(By.id("name")).clear();
        driver.findElement(By.id("name")).sendKeys("USER");
        driver.findElement(By.id("email")).clear();
        driver.findElement(By.id("email")).sendKeys("user@mailf.pt");
        driver.findElement(By.id("message")).clear();
        driver.findElement(By.id("message")).sendKeys("TESTE");
        assertTrue(isElementPresent(By.cssSelector("button.btn.btn-primary")));
     }
 }

Sem data provider

package testng.rcaap.validator;
import static org.testng.Assert.assertTrue;
import org.openqa.selenium.By;
import org.testng.annotations.Test;
import dataproviders.DataProviderPortalValidartor;
import testng.rcaap.TestBase;

public class VerifyContactTest extends TestBase{

  @Test
  public void testVerifyContact() throws Exception {
        driver.get(baseUrl + "/validator2/");
        driver.findElement(By.xpath("//a[contains(@href, 'contact')]")).click();
        driver.findElement(By.id("name")).clear();
        driver.findElement(By.id("name")).sendKeys("NOME");
        driver.findElement(By.id("email")).clear();
        driver.findElement(By.id("email")).sendKeys("user@mailf.pt");
        driver.findElement(By.id("message")).clear();
        driver.findElement(By.id("message")).sendKeys("TESTE");
        assertTrue(isElementPresent(By.cssSelector("button.btn.btn-primary")));
  }
}
  • Ver os ficheiros suite como estão definidos para os testes
  • O dataprovider tem os urls a testar
  • Ver a documentação da Wiki com outras informações

Parâmetros para teste com linha de comandos:

mvn test -Dsuitefile=SUITEFILE -DbaseURL=URL -Duser=USER -Dpass=PASS -Dbrowser=BROWSER -Dos=OS -Dtest=CLASSNAME#METHOD+METHOD2,CLASSNAME
  • o -Dsuite deve ser definido, mesmo que se corrar o -Dtest (neste caso indicar um suite qulaquer) SUITFILE Exemplo: TestNGResources/Portal/....xml
  • o -DbaseURL (exemplo http://rcaap.pt - Não esquecer o http ou https caso seja https o site) deve ser dado caso não se defina um dataprovider. Caso seja indicado o URL o dataprovider sobrepõe-se
  • o -Duser/–Dpass só devem ser definidos caso haja login
  • o -Dtest será usado se definido. Adicionar as classes a testar separadas por vírgulas e os métodos a testar com um +
  • o -Dbrowser: (firefox, chrome ou htmlunit (headless neste caso) ). Default Firefox
  • o -Dos: windows ou linux. Default windows

Exemplo:

mvn test -Dsuitefile=testng.xml -DbaseURL=http://teste.pt -Dteste=Login,TestMenu#testA+testC

Correr testes com Login (SARI)

Para correr os testes de Login no SARI, ou adicionar o LoginAdmin no testecase em 1.º lugar, ou extender o LoginAdmin na classe teste, ou a classe de teste contemplar o login. Para o caso de correr com o LoginAdmin

mvn test [...] -Dtest=LoginAdmin,CLASSNAME#METHOD+METHOD2,CLASSNAME
  • Mais informações no documento da Wiki