Esempio n. 1
0
        /// <summary>
        /// Using in case of steps in teardown failed, it will take screenshot but store in property: ErrorTearDownScreenshot
        /// </summary>
        /// <param name="ex">Exception</param>
        public static void FailInTearDown(Exception ex)
        {
            _runType = TestContext.CurrentContext.Test.Properties.Get("RunType")?.ToString();
            switch (_runType.ToUpper())
            {
            case "DEV":
                GetDevTestCaseInfo();
                ObjectId screenShotId = MongoDBHelpers.TakeScreenShotAndUpload(_devRunRecord.TestCaseCodeName);
                Console.WriteLine($"{DateTime.UtcNow}: {ex.GetType()} - {ex.Message}");
                _devRunRecord.Status          = TestStatus.Failed.ToString();
                _devRunRecord.EndAt           = DateTime.UtcNow;
                _devRunRecord.ExecuteTime     = (_devRunRecord.EndAt - _devRunRecord.StartAt).Seconds;
                _devRunRecord.Log            += $"\n{DateTime.UtcNow}: [Failed in teardown] {ex.GetType()} - {ex.Message}";
                _devRunRecord.ErrorMessage   += $"\n [Failed in teardown]: {_keywordName} - {ex.Message}";
                _devRunRecord.ErrorScreenshot = screenShotId.ToString();

                MongoDBHelpers.UpdateFailForDevRecord(_devRunRecord);
                break;

            case "REGRESSION":
                GetRegTestCaseInfo();
                ObjectId screenShotRegId = MongoDBHelpers.TakeScreenShotAndUpload(_regRunRecord.RegressionTestId);
                Console.WriteLine($"{DateTime.UtcNow}: {ex.GetType()} - {ex.Message}");
                _regRunRecord.Status          = TestStatus.Failed.ToString();
                _regRunRecord.EndAt           = DateTime.UtcNow;
                _regRunRecord.ExecuteTime     = (_regRunRecord.EndAt - _regRunRecord.StartAt).Seconds;
                _regRunRecord.Log            += $"\n{DateTime.UtcNow}: [Failed in teardown] {ex.GetType()} - {ex.Message}";
                _regRunRecord.ErrorMessage   += $"\n [Failed in teardown]: {ex.GetType()} - {ex.Message}";
                _regRunRecord.ErrorScreenshot = screenShotRegId.ToString();
                MongoDBHelpers.UpdateFailForRegRecord(_regRunRecord);
                break;
            }
        }
Esempio n. 2
0
        public static void Fail()
        {
            _runType = TestContext.CurrentContext.Test.Properties.Get("RunType")?.ToString();
            switch (_runType.ToUpper())
            {
            case "DEV":
                GetDevTestCaseInfo();
                ObjectId debugScreenShotId = MongoDBHelpers.TakeScreenShotAndUpload($"dev{_devRunRecord.TestCaseCodeName}");
                _devRunRecord.ErrorMessage = $"[{_keywordName}]: {TestContext.CurrentContext.Result.Message} {TestContext.CurrentContext.Result.StackTrace}";
                Console.WriteLine($"{DateTime.UtcNow} - [{_keywordName}]: {TestContext.CurrentContext.Result.Message} {TestContext.CurrentContext.Result.StackTrace}");
                _devRunRecord.EndAt       = DateTime.UtcNow;
                _devRunRecord.ExecuteTime =
                    (_devRunRecord.EndAt - _devRunRecord.StartAt).Seconds;
                _devRunRecord.ErrorScreenshot = debugScreenShotId.ToString();
                _devRunRecord.Buffers         = MongoDBHelpers.getDevBuffers(_devRunRecord);
                _devRunRecord.Log             = $"\n{DateTime.UtcNow}: {_devRunRecord.ErrorMessage}";
                _devRunRecord.Log            += $"\n{DateTime.UtcNow}: Error Screenshot - {debugScreenShotId}";
                MongoDBHelpers.UpdateFailForDevRecord(_devRunRecord);
                break;

            case "REGRESSION":
                GetRegTestCaseInfo();
                ObjectId regressionScreenShotId = MongoDBHelpers.TakeScreenShotAndUpload($"regression_{_devRunRecord.TestCaseCodeName}");
                _regRunRecord.ErrorMessage = $"[{_keywordName}]: {TestContext.CurrentContext.Result.Message} {TestContext.CurrentContext.Result.StackTrace}";
                Console.WriteLine($"{DateTime.UtcNow} - [{_keywordName}]: {TestContext.CurrentContext.Result.Message} {TestContext.CurrentContext.Result.StackTrace}");

                _regRunRecord.EndAt       = DateTime.UtcNow;
                _regRunRecord.ExecuteTime =
                    (_regRunRecord.EndAt - _regRunRecord.StartAt).Seconds;
                _regRunRecord.ErrorScreenshot = regressionScreenShotId.ToString();
                _regRunRecord.Log             = $"\n{DateTime.UtcNow}: {_regRunRecord.ErrorMessage}";
                _regRunRecord.Log            += $"\n{DateTime.UtcNow}: Error Screenshot - {regressionScreenShotId}";
                MongoDBHelpers.UpdateFailForRegRecord(_regRunRecord);
                break;
            }
        }