Giter VIP home page Giter VIP logo

test_automation_with_testng's Introduction

Test Automation with TestNG

Features:

  • POM pattern design
  • Base Data Provider
  • Custom Annotation Usage
  • Various test runners (xml files)
  • Logs
  • Extent Report

Running a specific test class

mvn test -Dtest=Test/LoginTests.java

Running a specific test case in a class

mvn test -Dtest=Test/LoginTests.java#loginTestWithInvalidCredentials

Running a single xml

mvn clean test -DsuiteXmlFile=testng.xml

mvn clean verify -Drunner=testng.xml

Running all the xml files mentioned in the pom.xml:

mvn clean test -DsuiteXmlFile

All of the tests are independent from each other, UNLESS we create dependency.

The plugin maven-surefire-plugin is used to configure and execute the tests and generate test reports.

Sample:
<plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-surefire-plugin</artifactId>
    <version>${maven-surefire-plugin-version}</version>
       <configuration>
          <suiteXmlFiles>
              <suiteXmlFile>testng.xml</suiteXmlFile>          --> enter path
          </suiteXmlFiles>
          <parallel>methods</parallel>                  --> optional | for parallel execution
          <threadCount>10</threadCount>                 --> optional | for parallel execution
       </configuration>
</plugin>
<plugin>     
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-surefire-plugin</artifactId>
    <version>3.1.2</version>
    <configuration>
        <groups>P0,P1</groups>
        <excludedGroups>Flaky</excludedGroups>      --> optional
    </configuration>
</plugin>
  • The @DataProvider annotation is used to provide test data to the tests.
  • It allows you to separate the test data from the test logic.
  • With @DataProvider, your test data can be reusable.
  • Basically we have a method annotated with @DataProvider that returns a two dimensional array object containing the data.
  • We specify a name for our data provider, and we it to link the dataprovider to the test.

Example of usage:

@DataProvider(name = "loginData")
public Object[][] provideLoginData() {
    return new Object[][] {
        { "user1", "password1" },
        { "user2", "password2" },
        { "user3", "password3" }
    };
}

@Test(dataProvider = "loginData")
public void testLogin(String username, String password) {
    // ...
}

In our framework, we have also a BaseDataProvider class where we store the test data. This class is extended by the BaseTest class.

test_automation_with_testng's People

Contributors

kubilaydogan avatar

Stargazers

 avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.