Sunday, July 7, 2024

Retry Fail test method 'N' No of times:

Retry Fail test method 'N' No of times:

if test method fails, we want to retry 1 time

                                                              2 times

                                                              3 times           

Define class which implements IRetryAnalyzer:

 

            //IRetryAnalyzer  is predefined interface in TestNG -

            // which can be used to run failed test  with given No of Times

 

 

package TestNGBasics3;

import org.testng.IRetryAnalyzer;

import org.testng.ITestResult;

public class MyRetry implements IRetryAnalyzer

{

             private int retryCount = 0;

              private static final int maxRetryCount = 3; // just change this count

             

              @Override

              public boolean retry(ITestResult result) {

                if (retryCount < maxRetryCount) {

                  retryCount++;

                  return true;

                }

                return false;

              }

}

----------------------------

package TestNGBasics3;

import org.testng.Assert;

import org.testng.annotations.Test;

public class TestClass {

           

//         @Test(retryAnalyzer = MyRetry.class)

           

            @Test(retryAnalyzer = MyRetry.class) //   3  =   1 (intially) +  retry  3  = 4

            public void testA()

            {

                        System.out.println("test A stmt-1");

                        //  puprose fully I am failing this test method

                        Assert.assertEquals("TOm", "jerry");//   Fail  --testA()

                       

            }

}

run class :

o/p:

[RemoteTestNG] detected TestNG version 7.0.0

test A stmt-1

test A stmt-1

test A stmt-1

test A stmt-1

FAILED: testA

java.lang.AssertionError: expected [jerry] but found [TOm]

            at org.testng.Assert.fail(Assert.java:97)

            at org.testng.Assert.assertEqualsImpl(Assert.java:136)

            at org.testng.Assert.assertEquals(Assert.java:118)

            at org.testng.Assert.assertEquals(Assert.java:575)

            at org.testng.Assert.assertEquals(Assert.java:585)

            at TestNGBasics3.TestClass.testA(TestClass.java:15)

            at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

            at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:64)

            at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)

            at java.base/java.lang.reflect.Method.invoke(Method.java:564)

            at org.testng.internal.MethodInvocationHelper.invokeMethod(MethodInvocationHelper.java:133)

            at org.testng.internal.TestInvoker.invokeMethod(TestInvoker.java:584)

            at org.testng.internal.TestInvoker.retryFailed(TestInvoker.java:204)

            at org.testng.internal.MethodRunner.runInSequence(MethodRunner.java:58)

            at org.testng.internal.TestInvoker$MethodInvocationAgent.invoke(TestInvoker.java:804)

            at org.testng.internal.TestInvoker.invokeTestMethods(TestInvoker.java:145)

            at org.testng.internal.TestMethodWorker.invokeTestMethods(TestMethodWorker.java:146)

            at org.testng.internal.TestMethodWorker.run(TestMethodWorker.java:128)

            at java.base/java.util.ArrayList.forEach(ArrayList.java:1511)

            at org.testng.TestRunner.privateRun(TestRunner.java:770)

            at org.testng.TestRunner.run(TestRunner.java:591)

            at org.testng.SuiteRunner.runTest(SuiteRunner.java:402)

            at org.testng.SuiteRunner.runSequentially(SuiteRunner.java:396)

            at org.testng.SuiteRunner.privateRun(SuiteRunner.java:355)

            at org.testng.SuiteRunner.run(SuiteRunner.java:304)

            at org.testng.SuiteRunnerWorker.runSuite(SuiteRunnerWorker.java:53)

            at org.testng.SuiteRunnerWorker.run(SuiteRunnerWorker.java:96)

            at org.testng.TestNG.runSuitesSequentially(TestNG.java:1180)

            at org.testng.TestNG.runSuitesLocally(TestNG.java:1102)

            at org.testng.TestNG.runSuites(TestNG.java:1032)

            at org.testng.TestNG.run(TestNG.java:1000)

            at org.testng.remote.AbstractRemoteTestNG.run(AbstractRemoteTestNG.java:115)

            at org.testng.remote.RemoteTestNG.initAndRun(RemoteTestNG.java:251)

            at org.testng.remote.RemoteTestNG.main(RemoteTestNG.java:77)

RETRIED: testA

java.lang.AssertionError: expected [jerry] but found [TOm]

            at org.testng.Assert.fail(Assert.java:97)

            at org.testng.Assert.assertEqualsImpl(Assert.java:136)

            at org.testng.Assert.assertEquals(Assert.java:118)

            at org.testng.Assert.assertEquals(Assert.java:575)

            at org.testng.Assert.assertEquals(Assert.java:585)

            at TestNGBasics3.TestClass.testA(TestClass.java:15)

            at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

            at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:64)

            at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)

            at java.base/java.lang.reflect.Method.invoke(Method.java:564)

            at org.testng.internal.MethodInvocationHelper.invokeMethod(MethodInvocationHelper.java:133)

            at org.testng.internal.TestInvoker.invokeMethod(TestInvoker.java:584)

            at org.testng.internal.TestInvoker.invokeTestMethod(TestInvoker.java:172)

            at org.testng.internal.MethodRunner.runInSequence(MethodRunner.java:46)

            at org.testng.internal.TestInvoker$MethodInvocationAgent.invoke(TestInvoker.java:804)

            at org.testng.internal.TestInvoker.invokeTestMethods(TestInvoker.java:145)

            at org.testng.internal.TestMethodWorker.invokeTestMethods(TestMethodWorker.java:146)

            at org.testng.internal.TestMethodWorker.run(TestMethodWorker.java:128)

            at java.base/java.util.ArrayList.forEach(ArrayList.java:1511)

            at org.testng.TestRunner.privateRun(TestRunner.java:770)

            at org.testng.TestRunner.run(TestRunner.java:591)

            at org.testng.SuiteRunner.runTest(SuiteRunner.java:402)

            at org.testng.SuiteRunner.runSequentially(SuiteRunner.java:396)

            at org.testng.SuiteRunner.privateRun(SuiteRunner.java:355)

            at org.testng.SuiteRunner.run(SuiteRunner.java:304)

            at org.testng.SuiteRunnerWorker.runSuite(SuiteRunnerWorker.java:53)

            at org.testng.SuiteRunnerWorker.run(SuiteRunnerWorker.java:96)

            at org.testng.TestNG.runSuitesSequentially(TestNG.java:1180)

            at org.testng.TestNG.runSuitesLocally(TestNG.java:1102)

            at org.testng.TestNG.runSuites(TestNG.java:1032)

            at org.testng.TestNG.run(TestNG.java:1000)

            at org.testng.remote.AbstractRemoteTestNG.run(AbstractRemoteTestNG.java:115)

            at org.testng.remote.RemoteTestNG.initAndRun(RemoteTestNG.java:251)

            at org.testng.remote.RemoteTestNG.main(RemoteTestNG.java:77)

RETRIED: testA

java.lang.AssertionError: expected [jerry] but found [TOm]

            at org.testng.Assert.fail(Assert.java:97)

            at org.testng.Assert.assertEqualsImpl(Assert.java:136)

            at org.testng.Assert.assertEquals(Assert.java:118)

            at org.testng.Assert.assertEquals(Assert.java:575)

            at org.testng.Assert.assertEquals(Assert.java:585)

            at TestNGBasics3.TestClass.testA(TestClass.java:15)

            at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

            at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:64)

            at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)

            at java.base/java.lang.reflect.Method.invoke(Method.java:564)

            at org.testng.internal.MethodInvocationHelper.invokeMethod(MethodInvocationHelper.java:133)

            at org.testng.internal.TestInvoker.invokeMethod(TestInvoker.java:584)

            at org.testng.internal.TestInvoker.retryFailed(TestInvoker.java:204)

            at org.testng.internal.MethodRunner.runInSequence(MethodRunner.java:58)

            at org.testng.internal.TestInvoker$MethodInvocationAgent.invoke(TestInvoker.java:804)

            at org.testng.internal.TestInvoker.invokeTestMethods(TestInvoker.java:145)

            at org.testng.internal.TestMethodWorker.invokeTestMethods(TestMethodWorker.java:146)

            at org.testng.internal.TestMethodWorker.run(TestMethodWorker.java:128)

            at java.base/java.util.ArrayList.forEach(ArrayList.java:1511)

            at org.testng.TestRunner.privateRun(TestRunner.java:770)

            at org.testng.TestRunner.run(TestRunner.java:591)

            at org.testng.SuiteRunner.runTest(SuiteRunner.java:402)

            at org.testng.SuiteRunner.runSequentially(SuiteRunner.java:396)

            at org.testng.SuiteRunner.privateRun(SuiteRunner.java:355)

            at org.testng.SuiteRunner.run(SuiteRunner.java:304)

            at org.testng.SuiteRunnerWorker.runSuite(SuiteRunnerWorker.java:53)

            at org.testng.SuiteRunnerWorker.run(SuiteRunnerWorker.java:96)

            at org.testng.TestNG.runSuitesSequentially(TestNG.java:1180)

            at org.testng.TestNG.runSuitesLocally(TestNG.java:1102)

            at org.testng.TestNG.runSuites(TestNG.java:1032)

            at org.testng.TestNG.run(TestNG.java:1000)

            at org.testng.remote.AbstractRemoteTestNG.run(AbstractRemoteTestNG.java:115)

            at org.testng.remote.RemoteTestNG.initAndRun(RemoteTestNG.java:251)

            at org.testng.remote.RemoteTestNG.main(RemoteTestNG.java:77)

RETRIED: testA

java.lang.AssertionError: expected [jerry] but found [TOm]

            at org.testng.Assert.fail(Assert.java:97)

            at org.testng.Assert.assertEqualsImpl(Assert.java:136)

            at org.testng.Assert.assertEquals(Assert.java:118)

            at org.testng.Assert.assertEquals(Assert.java:575)

            at org.testng.Assert.assertEquals(Assert.java:585)

            at TestNGBasics3.TestClass.testA(TestClass.java:15)

            at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

            at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:64)

            at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)

            at java.base/java.lang.reflect.Method.invoke(Method.java:564)

            at org.testng.internal.MethodInvocationHelper.invokeMethod(MethodInvocationHelper.java:133)

            at org.testng.internal.TestInvoker.invokeMethod(TestInvoker.java:584)

            at org.testng.internal.TestInvoker.retryFailed(TestInvoker.java:204)

            at org.testng.internal.MethodRunner.runInSequence(MethodRunner.java:58)

            at org.testng.internal.TestInvoker$MethodInvocationAgent.invoke(TestInvoker.java:804)

            at org.testng.internal.TestInvoker.invokeTestMethods(TestInvoker.java:145)

            at org.testng.internal.TestMethodWorker.invokeTestMethods(TestMethodWorker.java:146)

            at org.testng.internal.TestMethodWorker.run(TestMethodWorker.java:128)

            at java.base/java.util.ArrayList.forEach(ArrayList.java:1511)

            at org.testng.TestRunner.privateRun(TestRunner.java:770)

            at org.testng.TestRunner.run(TestRunner.java:591)

            at org.testng.SuiteRunner.runTest(SuiteRunner.java:402)

            at org.testng.SuiteRunner.runSequentially(SuiteRunner.java:396)

            at org.testng.SuiteRunner.privateRun(SuiteRunner.java:355)

            at org.testng.SuiteRunner.run(SuiteRunner.java:304)

            at org.testng.SuiteRunnerWorker.runSuite(SuiteRunnerWorker.java:53)

            at org.testng.SuiteRunnerWorker.run(SuiteRunnerWorker.java:96)

            at org.testng.TestNG.runSuitesSequentially(TestNG.java:1180)

            at org.testng.TestNG.runSuitesLocally(TestNG.java:1102)

            at org.testng.TestNG.runSuites(TestNG.java:1032)

            at org.testng.TestNG.run(TestNG.java:1000)

            at org.testng.remote.AbstractRemoteTestNG.run(AbstractRemoteTestNG.java:115)

            at org.testng.remote.RemoteTestNG.initAndRun(RemoteTestNG.java:251)

            at org.testng.remote.RemoteTestNG.main(RemoteTestNG.java:77)

===============================================

    Default test

    Tests run: 4, Failures: 1, Skips: 0, Retries: 3

===============================================

===============================================

Default suite

Total tests run: 4, Passes: 0, Failures: 1, Skips: 0, Retries: 3

===============================================

===============================================

No comments:

Post a Comment

git commands MCQ

 Here are some multiple-choice questions (MCQs) on Git commands relevant for Selenium: 1. Which Git command is used to clone a remote reposi...