Example #1
0
        static void Main(string[] args)
        {
            var extent = new ExtentReports("Extent.Net.html");

            var test = extent.StartTest("First", "Random desc");
            test.Log(LogStatus.Info, "Some Details");
            test
                .AssignCategory("Cat", "Cat", "Cat")
                .AssignAuthor("Anshoo", "Anshoo");
            extent.EndTest(test);

            test = extent.StartTest("Second", "Random desc");
            var child = extent.StartTest("Child", "Desc");
            child.Log(LogStatus.Warning, "Warning");
            child.AssignCategory("Regression", "Extent");
            test.AppendChild(child);
            extent.EndTest(test);

            test = extent.StartTest("Third", "Random desc");
            test.Log(LogStatus.Error, "Some Details");
            extent.EndTest(test);

            extent.Flush();
        }
Example #2
0
        static void Main(string[] args)
        {
            var extent = new ExtentReports("Extent.Net.html", false);

            extent.AssignProject("Extent");
            //extent.X();

            string json = "{" +
                          "\"id\": 1," +
                          "\"name\": \"A green door\"," +
                          "\"price\": 12.50," +
                          "\"tags\": [\"home\", \"green\"]" +
                          "}";

            string message = "This test shows how a category is displayed. Assigning a category also " +
                             "enables the Categories view.";
            ExtentTest test = extent.StartTest("CategoryTest", message);

            test.AssignCategory("ExtentAPI", "Category");
            test.Log(LogStatus.Pass, "中文");
            test.Log(LogStatus.Info, "<pre>" + json + "</pre>");
            extent.EndTest(test);

            message = "This test shows an example of an author assigned.";
            test    = extent.StartTest("AuthorTest", message);
            test.AssignAuthor("Anshoo");
            test.Log(LogStatus.Fail, "An author was added");
            extent.EndTest(test);

            message = "This test shows an example of an author assigned.";
            test    = extent.StartTest("AuthorTest", message);
            test.AssignAuthor("Anshoo");
            test.Log(LogStatus.Pass, "An author was added 2");
            extent.EndTest(test);

            Exception nullPointerEx = new NullReferenceException("A NullReferenceException occured.");

            message = "This test shows an example of how exceptions are displayed. " +
                      "Logging an exception also creates the Exceptions view.";
            test = extent.StartTest("ExceptionTest", message);
            test.AssignCategory("ExtentAPI", "IntentionalException");
            test.Log(LogStatus.Fail, nullPointerEx);
            extent.EndTest(test);

            message = "HTML can be embedded anywhere in the report to create meaningful.Logs and messages.";
            test    = extent.StartTest("HTMLTagsTest", message);
            string labelMessage = "Labels can be created using: " +
                                  "<span class='success label'>Success</span> " +
                                  "<span class='fail label'>Fail</span> " +
                                  "<span class='warning label'>Warning</span> " +
                                  "<span class='info label'>Info</span> " +
                                  "<span class='Skip label'>Skip</span>";

            test.Log(LogStatus.Pass, labelMessage);
            labelMessage = "<pre>" +
                           "&lt;span class='success label'&gt;Success&lt;/span&gt; <br />" +
                           "&lt;span class='fail label'&gt;Fail&lt;/span&gt; <br />" +
                           "&lt;span class='warning label'&gt;Warning&lt;/span&gt; <br />" +
                           "&lt;span class='info label'&gt;Info&lt;/span&gt; <br />" +
                           "&lt;span class='Skip label'&gt;Skip&lt;/span&gt;" +
                           "</pre>";
            test.Log(LogStatus.Pass, labelMessage);
            test.Log(LogStatus.Pass, "Link <a href='http://extentreports.relevantcodes.com/'>Linky</a>");
            test.Log(LogStatus.Pass, "<pre>&lt;a href='http://extentreports.relevantcodes.com/'&gt;Linky&lt;/a&gt;</pre>");
            extent.EndTest(test);

            test = extent.StartTest("NodesTest");
            ExtentTest child1 = extent.StartTest("Child Node Level 1").AssignCategory("Node");

            child1.Log(LogStatus.Info, "Info");
            ExtentTest childLevel2 = extent.StartTest("Child Node Level 2").AssignCategory("Node");;

            childLevel2.Log(LogStatus.Error, "Error");
            ExtentTest childLevel3 = extent.StartTest("Child Node Level 3").AssignCategory("Node");;

            childLevel3.Log(LogStatus.Warning, "Warning");
            ExtentTest childLevel4 = extent.StartTest("Child Node Level 4").AssignCategory("Node");;

            childLevel4.Log(LogStatus.Skip, "Skip");
            ExtentTest childLevel5 = extent.StartTest("Child Node Level 5").AssignCategory("Node");;

            childLevel5.Log(LogStatus.Pass, "Pass");
            test.AppendChild(child1);
            test.AppendChild(childLevel2);
            test.AppendChild(childLevel3);
            test.AppendChild(childLevel4);
            test.AppendChild(childLevel5);
            childLevel2 = extent.StartTest("Child Node Level 2").AssignCategory("Node");;
            childLevel2.Log(LogStatus.Error, "Error");
            test.AppendChild(childLevel2);
            extent.EndTest(test);

            test = extent.StartTest("MediaTest");
            test.Log(LogStatus.Info, test.AddScreenCapture("./1.png"));
            test.Log(LogStatus.Info, test.AddScreenCapture("2.png"));
            test.Log(LogStatus.Info, test.AddBase64ScreenCapture(" data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAMoAAAAYCAYAAAC7k2KMAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAAYdEVYdFNvZnR3YXJlAHBhaW50Lm5ldCA0LjAuNWWFMmUAAAi4SURBVHhe7ZstsBRHFIWfQCAQCAQCgUAgEAgEAoGIQCAQCAQCEYFAICIiEFQhIhAIBCICgUAgEAhEREREBAIRgYhARCAQERERiJfzDXPnnbnbMz09uyJU7an66u1O3+7t6b63/2beweHh4Z49eyoUL+7Zs2fM0YeDg4eCD1P8Lf4Qb8UNL6TP/1HkPCU+Znsvp4TbVoiyn9q1v8TJXGYJ6XmfB+6I3Ca3S/mWIPk9/FqyyWBnec6m73N07TCFdEncEz+L9+JP8UY8ERt9W0O6IB4I6kd7fxFR5g/iTCkfSFN+Rxm0GfV7Le6KuXKafMTynRCPxO/iX5Ht4Y5nqAVKhkY5b/lbnXmwjzKmcNsKUTY373me5zJLYGd5SoHCYDHZWXNI+R6+L9k50k4DRTolXvU2c+Cc1YCRjovHAqfOZTj/iHsTZbT4Hb9DMG8MfFKTj/R5LvK9vz7HZKDQUDhNQOMScThK2ADXjhUqynU6tcTLbB91mMJtRbXsPs8V4R143cssIdUCBX4p5a0h5Q6pBp3EPYU9gfKj8H6JNPDrjwtl3RSfhefBgX8TrBL47GlAv3f9Wyjvsvgg3D5mEerwTuQA4n7OpnK8jSnP+xM/zD4XdqdTOa3+d1J4nk/ipfB2DK5MVfhhXHckRhCmUm+Au32a/+ioMUq4fU7LuK2olh1IjHaRr7oEk2iUsM+B4vdcHB3nkPweglcl20CiY8N2474tTV/HaY501W0FTnwp2RwTOP8L4bYbdZQIWg8sgu1qwQ5/uSXc2WmHE2bjbXzH85sNI/8z4X1AsAz9KbX6n/8uA8VQpxJHHxYESiCxXgzbbr0ttVZ0sM9pGbcVLYFCR7GviryzSzDSzTYHCp9jDYuTDMvOJUh+Dz6yTy5xpK0DRcojJ4NHcZYIpDwYjgYGyeuFA9fKOyMY5SPPU0urBkogfSc8QAc/lVr9z5eg50o2ztGH5BRulJFwwGjIz/211ooO9jkt47ZicaCAxGjknT65BJPmAoXvOFB8H5adS5D8Hhhlo06TM520i0Dxe5qdwRyJDTozEVy2694Gbz3PHBL7Ix8guhlIWhwoIF0ze8o73l9v9T9mQT7QD9XDnqMPDYECEh3c2fff/5eBApLf25xj1gKF5Qnr5rj2oFROCWl0D8JP5p5N5NkqUCScM2xWH0Q4fTl8wMFaZ1XaMOrzvr/WFCggsQ+KPPf7a63+533dlTHH0YeGQJFOm+3/ekYBCQf3qb+4BOO62WwESm/D0WrMBvy9mMspIeVAySdzVwp5tg2U62bzpGTTgnTOyntdsqkhDQOsoLw1geL31dVDavU/3z4AR+XTx8/Dh7ZA8dGwOwWSvKJMzzhaUHKCwT6nZdxWVMsuIZ0Xfk5e2nxWA6W380MCZphu+p9D2uhIyTuczemoHGnbQPFl0upnQIHEyVmU1x3itCLxTCTKuC3WBAp7nsjzob/W7CMSm/jIE9Dmm88Jhw8LAkXC2Yi8sINbfZpXNLMxgktrAyWz6BkJSPctH2WOTjqkpYHCHs3rtHEcm0n2g9NLfso0andp20DxDeuFkk0LEg/moryNgWYJEg8mowwcujlQQPL9Tu6PzNQKglmdw4hsDwyAR3szyzQKFMFoR0cBGx/OmSM9GM7ZpaaKSoN9Tsu4bYHFgQKSO99w+tKnLQqU3pYTmEhjCTY7s0lTgeKbXMoZHFraNlA8CHcRKD6TLprJM5IPVjwXWhsovoSjDVf7iMRymr7PT+bpl24f5sY5UFjXx8lAhgIZXYZTH8kryqlOnJjAxqZPWhso1bLnkPIzgGFklOYChSUD3x3vLOo4eRbfp4ftyOklfivShtM0adtAcafc9dJrsVM7ko/gs4PRFBIzQeT50l/b2kckAo4280nh69LOjLzC3RJAwqn8YRFrOm5u9FS0t510hBJun9MybiuqZdeQ3DEpu3NwaS5QllA8vQJp9h4kXy93zy2kbQPFZ73R7LkGiSPjKO9FyaaG5KeGazfzzACRJ07PduYjEodVvrS76IkbgdJfJzrjOpmLJwNSU0XdPqdl3FZsHSgg+RFj50TStoECxec0Ui1QfKbjL9+3DRQeNsYJHWXu4ng46siqoqkvJEZ3PsA2x8O+V4q+26mPSH5gddMTioHSp/lal+XYxoM26VsLlDxq0IlzgcLGE+ct4QccLMdOFX6veg+SL5UI5K0CBSTfVyw+0pVYhsT9DQEmeZu0PMDMS/luQJGaAkXKp5fdXknadaB4u93whLlAYU3IC2+R/pOn9zbfVKCA5GtufsNPiXKgTHailNun9H5U9R6k/LzHHWJtoHAi5C8vLnmFhXv33x6OgqVcx+rzGYk83rbD5lpaHChSfhXmnaXt1Eck789znjAZKH26P2iDaym9qaJun9Mybit2Figg8cZolO33tzhQQOKFQs9/M6Uvugcpv3IzmcfTc5oj5brxUuTGg1Ipz44wvJFtdnlU56Cj+OBVYqZ256YdWl+KZAnJCZkfwvDZTwh35iOSD6CfumuWOBsovQ2VDRuWLUOFJK8oowfLmBLdMwfJ7Ut2HWvKbkGiE/z0KmgKFEj2o1dGpMUdKfkafDKPp+e0jMTGPt8ndWSJR5t6/QKW3MWTPIkAyHkICPJQfwYg37hH+ugFRMnbjKWZ9ycHHKXHElwbHU9LTT7CX7vm5JPebsCbqvBUoDCF+rqZkWnJcxRn4x+35lhTdiuSPyEP1gRKXpa8sTS/h1qg5OVSMY+n57QSEoOCL4GmIIDq7z99XXL6pncKZh/2eKW9rbfxEpi9Sm2xa/9jBn40lG8/VA0UkFgn+pFxt0aVdl3RjjVlr0HKHd4cKCBx5OlLhDjq9XuYDRSQ+MezsC/m8fScNofEbMASi3U4fUl9CUxGcN6Bqr6S40gsFzmIYDZhFqE8BlGemfAvx5P3K80FCjMHIzzlEGiT79VJu/I/2oFgHJ7Kd/b+Zc+ePWWKF/fs2eMcHvwHRtCmdoL3r8UAAAAASUVORK5CYII="));
            extent.EndTest(test);

            test = extent.StartTest("SkippedTest").AssignCategory("ExtentAPI");;
            test.Log(LogStatus.Skip, "Skip");
            test.Log(LogStatus.Pass, "Pass");
            test.Log(LogStatus.Info, "Info");
            extent.EndTest(test);

            extent.AddTestRunnerOutput("You can send all.Logs from your TestRunner (such as JUnit, TestNG etc) to Extent by using:");
            extent.AddTestRunnerOutput("<pre>for (string s : Reporter.getOutput()) { <br />    extent.setTestRunnerOutput(s); <br />}</pre>");

            extent.Flush();
        }
Example #3
0
        static void Main(string[] args)
        {
            var extent = new ExtentReports("Extent.Net.html");

            extent.ConfigurationFromFile(@"C:\Users\Anshoo\git\extentreports\dotnet\RelevantCodes.ExtentReports\RelevantCodes.ExtentReports\bin\Debug\config.xml");

            extent.AddTestRunnerOutput("You can send all logs from your TestRunner (such as NUnit, Gallio, MSTest etc) to Extent by using:");
            extent.AddTestRunnerOutput("<pre>for (string s : Reporter.GetOutput()) { <br />    extent.AddTestRunnerOutput(s); <br />}</pre>");
            extent.AddTestRunnerOutput("Visit <a href='https://github.com/anshooarora/extentreports/blob/master/java/extentreports/src/test/java/com/relevantcodes/extentreports/testngexamples/ExtentReporterNG.java'>this link</a> for more info.");

            extent.AddSystemInfo("Machine Name", "Anshoo");
            extent.AddSystemInfo("Domain", "Anshoo");
            extent.AddSystemInfo("Selenium Version", "2.46");
            extent.AddSystemInfo("Environment", "Prod");
            extent.AddSystemInfo("Host Name", "Test");

            var test = extent.StartTest("Extent", "A very basic step with a few.Logs.").AssignAuthor("Anshoo");
            test.Log(LogStatus.Pass, "Step Info");
            test.Log(LogStatus.Pass, "Step Info");
            test.Log(LogStatus.Pass, "Step Info");
            test.Log(LogStatus.Pass, "Step Info");
            extent.EndTest(test);

            test = extent
                    .StartTest("HTML Tags", "This is a short description")
                    .AssignCategory("Regression", "ExtentAPI", "ExtentAPI");
            test.Log(LogStatus.Info, "You can insert a <a href='http://relevantcodes.com'>link</a> using <p></p> <pre>&lt;a href='http://url'&gt;&lt;/a&gt; tag</pre>");
            test.Log(LogStatus.Info, "This is a <span class='label success'>success label</span> which you can create using: <p></p> <pre>&lt;span class='label success'&gt;description&lt;/span&gt;</pre>");
            test.Log(LogStatus.Info, "This is a <span class='label failure'>fail label</span> which you can create using: <p></p> <pre>&lt;span class='label failure'&gt;description&lt;/span&gt;</pre>");
            test.Log(LogStatus.Info, "This is a <span class='label info'>info label</span> which you can create using: <p></p> <pre>&lt;span class='label info'&gt;description&lt;/span&gt;</pre>");
            test.Log(LogStatus.Info, "This is a <span class='label warn'>warning label</span> which you can create using: <p></p> <pre>&lt;span class='label warn'&gt;description&lt;/span&gt;</pre>");
            extent.EndTest(test);

            test = extent.StartTest("Snapshot test", "This test shows snapshots.").AssignCategory("Snapshots");
            test.Log(LogStatus.Fail, "Snapshot " + test.AddScreenCapture("./1.png"));
            test.Log(LogStatus.Fail, "Snapshot " + test.AddScreenCapture("./2.png"));
            extent.EndTest(test);

            test = extent.StartTest("Test with Nodes", "This example shows a test with 2 child nodes (methods).").AssignAuthor("Anshoo");
            var child1 = extent.StartTest("Child Node 1").AssignCategory("ExtentAPI", "Regression");
            child1.Log(LogStatus.Fail, "Failed Step");
            child1.Log(LogStatus.Fail, "Snapshot " + test.AddScreenCapture("./1.png"));
            var child2 = extent.StartTest("Child Node 2").AssignCategory("ExtentAPI", "Regression");
            child2.Log(LogStatus.Warning, "Warning Step");
            child2.Log(LogStatus.Pass, "Snapshot " + test.AddScreenCapture("./2.png"));
            test.AppendChild(child1);
            test.AppendChild(child2);
            extent.EndTest(test);

            test = extent.StartTest("Test Shows pre block");
            test.AssignCategory("CategoryName");
            test.Log(LogStatus.Skip, "<pre>java.lang.NullPointerException \n" +
                    "at java.lang.String.replace(Unknown Source) \n" +
                    "at com.relevantcodes.extentreports.Logger.Log.Logger.java:63) \n" +
                    "at com.relevantcodes.extentreports.Abstrac.Log.Log(Abstrac.Log.java:64) \n" +
                    "at com.relevantcodes.extentreports.Abstrac.Log.Log(Abstrac.Log.java:73) \n" +
                    "at com.relevantcodes.extentreports.ExtentReports.Log(ExtentReports.java:160) \n" +
                    "at com.mytests.TestOne.testA(TestOne.java:37) \n" +
                    "at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) \n" +
                    "at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) \n" +
                    "at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) \n" +
                    "at java.lang.reflect.Method.invoke(Unknown Source) \n" +
                    "at org.testng.internal.MethodInvocationHelper.invokeMethod(MethodInvocationHelper.java:84) \n" +
                    "at org.testng.internal.Invoker.invokeMethod(Invoker.java:714) \n" +
                    "at org.testng.internal.Invoker.invokeTestMethod(Invoker.java:901) \n" +
                    "at org.testng.internal.Invoker.invokeTestMethods(Invoker.java:1231) \n" +
                    "at org.testng.internal.TestMethodWorker.invokeTestMethods(TestMethodWorker.java:127) \n" +
                    "at org.testng.internal.TestMethodWorker.run(TestMethodWorker.java:111) \n" +
                    "at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source) \n" +
                    "at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source) \n" +
                    "at java.lang.Thread.run(Unknown Source) \n" +
                "</pre>");
            extent.EndTest(test);

            extent.Flush();
            extent.Close();
        }