Microsoft.Protocols.TestManager.Kernel.Utility.ParseFileGetStatus C# (CSharp) Method

ParseFileGetStatus() public static method

Parse the file content to get the case status Result format in file: "Result":"Result: Passed"
public static ParseFileGetStatus ( string filePath, TestCaseStatus &status ) : bool
filePath string
status TestCaseStatus
return bool
        public static bool ParseFileGetStatus(string filePath, out TestCaseStatus status)
        {
            status = TestCaseStatus.NotRun;

            string content = File.ReadAllText(filePath);
            int startIndex = content.IndexOf(AppConfig.ResultKeyword);
            startIndex += AppConfig.ResultKeyword.Length;
            int endIndex = content.IndexOf("\"", startIndex);
            string statusStr = content.Substring(startIndex, endIndex - startIndex);
            switch (statusStr)
            {
                case AppConfig.HtmlLogStatusPassed:
                    status = TestCaseStatus.Passed;
                    break;
                case AppConfig.HtmlLogStatusFailed:
                    status = TestCaseStatus.Failed;
                    break;
                case AppConfig.HtmlLogStatusInconclusive:
                    status = TestCaseStatus.Other;
                    break;
                default:
                    // The file name format is not correct
                    return false;
            }

            return true;
        }

Usage Example

Esempio n. 1
0
 /// <summary>
 /// If existing running test cases, change the status to Other.
 /// </summary>
 public void FinishTest()
 {
     // Clear RunningTestCase
     if (RunningTestCase != null)
     {
         if (RunningTestCase.Status == TestCaseStatus.Running)
         {
             GroupByOutcome.ChangeStatus(RunningTestCase.Name, TestCaseStatus.NotRun);
         }
         RunningTestCase = null;
     }
     foreach (var testcase in AllTestCases)
     {
         // Clear Waiting cases.
         if (testcase.Status == TestCaseStatus.Waiting && CurrentPageCaseList.Contains(testcase.Name))
         {
             TestCaseStatus status = TestCaseStatus.NotRun;
             TestCaseDetail caseDetail;
             if (testcase.LogUri != null && System.IO.File.Exists(testcase.LogUri.AbsolutePath))
             {
                 Utility.ParseFileGetStatus(testcase.LogUri.AbsolutePath, out status, out caseDetail);
             }
             testcase.Status = status;
         }
         // Clear Running cases. Should not be here
         if (testcase.Status == TestCaseStatus.Running && CurrentPageCaseList.Contains(testcase.Name))
         {
             testcase.Status = TestCaseStatus.NotRun;
             RunningTestCase = null;
         }
     }
 }
All Usage Examples Of Microsoft.Protocols.TestManager.Kernel.Utility::ParseFileGetStatus