Maven is a project management and comprehension tool that provides a complete build lifecycle framework. User can automate the project's build infrastructure in almost no time as Maven uses a standard directory layout and a default build lifecycle. To summarize, Maven simplifies and standardizes the project build process. It handles compilation, distribution, documentation, team collaboration and other tasks seamlessly. Maven increases reusability and takes care of most of the build related tasks. Junit is a testing framework and can use Maven as build tool. It helps to maintain dependencies and their version at one place in pom.xml User can run ... Read More
TestNG is a testing framework and can use Maven as build tool. It helps to maintain dependencies and their version at one place in pom.xml Maven provides flexibility to run using surefire plugin. It allows user to run testng.xml as well as directly run a testng class without using a testng.xml. There are few pre−requisites to achieve this: All testng classes should be created under src/test/java. If classes are not created under these directories user should have to pass testng.xml in pom.xml file. By default, maven surefire plugin identifies following classes: "**/Test*.java" − includes all of its subdirectories ... Read More
TestNG is a testing framework and can use Maven as build tool. It helps to maintain dependencies and their version at one place in pom.xml Maven provides flexibility to run using surefire plugin. Surefire plugin has feature to pass paramaeter from pom.xml to TestNG class or any java code. To achieve this, surefire plugin has another tag named as systemPropertyVariables where user can pass n number of variables and assign the value to these variables at run time using command line. In this article we will illustrate how to pass a parameter from maven to java code. Approach/Algorithm to solve ... Read More
TestNG supports to group the test cases based on similar functionality or uses. However, user may add multiple groups to single test. While running the group using syntax, TestNG runs all tests those are part of the group. It works as OR statement. Like if a test has 2 groups and only 1 is mentioned in tag it will run the test. But, when user wants to run a test only if all the groups are mentioned i.e. AND statement. TestNG doesn’t support directly AND statements in groups. For Example: @Test (groups = {“unit”, “integration”} ) If ... Read More
TestNG supports native dependency injection. It allows to declare additional parameters in methods. At the run time, TestNG automatically fill these parameters with right value. Following are few native dependencies in TestNG: ITestContext XmlTest Method ITestResult These dependencies help to retrieve the test execution status. Usually, @AfterMethod supports all these native dependencies and test status could be either Success, failure or Skip. However, TestNG supports following test status those can be retrieved by calling the function at right place. ... Read More