public static void TestStatus(string status) { if (status.Equals("Passed")) { TestCase.Pass("Test Passed"); } else { var stacktrace = TestContext.CurrentContext.Result.StackTrace; var errorMessage = "<pre>" + TestContext.CurrentContext.Result.Message + "</pre>"; Reporter.SetTestStatusFail($"<br>{errorMessage}<br>Stack Trace: <br>{stacktrace}<br>"); TestCase.AddScreenCaptureFromBase64String(UtilityMethods.ScreenCaptureAsBase64String(), "Screenshot on Error:"); } }
public void FinalizeTest(string scenarioTitle, ExtentTest lastStep, string[,] tableData = null, string screenshotBase64 = null) { if (screenshotBase64 != null) { lastStep .AddScreenCaptureFromBase64String(screenshotBase64, scenarioTitle); } if (tableData != null) { var markupTable = MarkupHelper.CreateTable(tableData); lastStep .Log(Status.Info, markupTable.GetMarkup()); } }
public ExtentTest LogStep(ScenarioContext scenarioContext, string screenshotBase64) { ExtentTest step = null; var scenarioTitle = scenarioContext.ScenarioInfo.Title.Trim(); var testStatus = scenarioContext.ScenarioExecutionStatus; var stepInfo = scenarioContext.StepContext.StepInfo; var testError = scenarioContext.TestError; switch (stepInfo.StepDefinitionType) { case StepDefinitionType.Given: step = Scenarios[scenarioTitle].CreateNode <Given>(stepInfo.Text); break; case StepDefinitionType.When: step = Scenarios[scenarioTitle].CreateNode <When>(stepInfo.Text); break; case StepDefinitionType.Then: step = Scenarios[scenarioTitle].CreateNode <Then>(stepInfo.Text); break; } //if (testStatus != ScenarioExecutionStatus.OK && !screenshotBase64.IsNullOrEmpty()) //{ // step.AddScreenCaptureFromBase64String(screenshotBase64, scenarioTitle); //} step.AddScreenCaptureFromBase64String(screenshotBase64, scenarioTitle); if (testStatus == ScenarioExecutionStatus.TestError) { var errorMessage = testError.InnerException != null ? testError.InnerException.Message : testError.Message; step.Fail(errorMessage); } else if (testStatus != ScenarioExecutionStatus.OK) { step.Skip($"Step execution failed. ScenarioExecutionStatus: {testStatus}"); } return(step); }
/// <summary> /// Function to capture Screenshot of Failed Screen. /// </summary> /// <param name="base64ScreenCapture"></param> public void AddTestFailureScreenshot(string base64ScreenCapture) { test.AddScreenCaptureFromBase64String(base64ScreenCapture, "Error Screenshot:"); }