Beispiel #1
0
        /// <summary>
        /// Post the provided GUI Testing Results to the QViz Instance
        /// </summary>
        /// <param name="guiTestResult">GUI Test Results as JSON Object</param>
        public void PostGUITestResults(GUITestResult guiTestResult)
        {
            var apiClient = new APIClient(_baseURL);

            apiClient.Headers.Add(new KeyValue("Content-Type", "application/json"));
            apiClient.Headers.Add(new KeyValue("Authorization", "Bearer " + _user.access_token));
            apiClient.Headers.Add(new KeyValue("userId", _user.userId));
            apiClient.Body = guiTestResult;
            apiClient.Post <object>("/api/ui-results");
            _lastResponse = apiClient.Response.Content;
            if (!apiClient.Response.IsSuccessful)
            {
                throw apiClient.GetError();
            }
        }
Beispiel #2
0
        public void PostResultTestRail()
        {
            try
            {
                _qvizClient.Authenticate(QVizUser, QVizPassword);
                var project   = _qvizClient.GetProject(QVizProject);
                var testCases = _qvizClient.GetGUITestCases(project.projectId);
                if (testCases.Count > 0)
                {
                    var testCase  = testCases.First();
                    var guiResult = new GUITestResult
                    {
                        testResult =
                        {
                            testCaseId         = testCase.testCaseId,
                            moduleId           = testCase.moduleId,
                            subModuleId        = testCase.subModuleId,
                            status             = "Pass",
                            sUT                = project.projectName,
                            releaseName        = "Version 1.0.0",
                            releaseNo          = "1.0.0",
                            sprintName         = "UBI Sprint 1",
                            sprintNo           = "UBI-1",
                            buildVersion       = "1.0.0",
                            browserName        = "ChromeDriver",
                            browserVersion     = "2.46",
                            resolution         = "1920x1080",
                            oSName             = "Windows 10 Professional",
                            oSVersion          = "1903",
                            appType            = "Angular 8 Application",
                            appVersion         = "1.0.0",
                            executionStartTime = DateTime.Now,
                            projectId          = project.projectId,
                            environment        = "Cloud",
                            runID              = "SDK-Unit-Test"
                        }
                    };
                    foreach (var testStep in testCase.testCaseSteps)
                    {
                        var stepResult = new TestStepResult
                        {
                            testCaseStepId     = testStep.testCaseStepId,
                            status             = "Pass",
                            actualResult       = testStep.expectedResult,
                            executionStartTime = DateTime.Now,
                            executionEndTime   = DateTime.Now
                        };
                        guiResult.testResult.testStepResults.Add(stepResult);
                    }

                    guiResult.testResult.executionEndTime = DateTime.Now;
                    try
                    {
                        var testRail = _qvizClient.GetToolConfiguration <ToolTestRail>(
                            project.projectId, "TESTRAIL"
                            );
                        _qvizClient.SendTestResultsToTestRail(
                            guiResult,
                            testRail.url,
                            testRail.userName,
                            testRail.password,
                            "10",
                            ""
                            );
                    }
                    catch (Exception)
                    {
                        // Does not contain configurations for TestRail
                    }
                    Assert.AreEqual("Pass", guiResult.testResult.status);
                }
                else
                {
                    throw new Exception("There are NO GUI Test Cases available in the Project (" + QVizProject + ").");
                }
            }
            catch (Exception error)
            {
                Assert.Fail(error.Message);
            }
        }
Beispiel #3
0
        public void PostGUITestResult()
        {
            try
            {
                _qvizClient.Authenticate(QVizUser, QVizPassword);
                var project   = _qvizClient.GetProject(QVizProject);
                var testCases = _qvizClient.GetGUITestCases(project.projectId);
                if (testCases.Count > 0)
                {
                    var testCase = testCases.FirstOrDefault(f => f.testCaseSteps.Count >= 4);

                    var guiResult = new GUITestResult
                    {
                        testResult =
                        {
                            testCaseId         = testCase.testCaseId,
                            moduleId           = testCase.moduleId,
                            subModuleId        = testCase.subModuleId,
                            actualResult       = "Error1 Message should be correct for all fields of B.I. Worksheet sheet in Export excel file",
                            status             = "Pass",
                            error              = "",
                            errorScreen        = "",
                            sUT                = project.projectName,
                            releaseName        = "Release 9",
                            releaseNo          = "8.0.0",
                            sprintName         = "P&C Sprint 8",
                            sprintNo           = "PC-8",
                            buildVersion       = "33004",
                            browserName        = "chrome",
                            browserVersion     = "78.0.3904",
                            resolution         = "1920x1080",
                            oSName             = "Windows 10 Professional",
                            oSVersion          = "1903",
                            appType            = "ReactJS Application",
                            appVersion         = "7.29002",
                            executionStartTime = DateTime.Now, //Convert.ToDateTime("2020-06-30T17:35:33.512"),
                            executionEndTime   = DateTime.Now,
                            projectId          = testCase.projectId,
                            environment        = "QA",
                            runID              = "SDK-Unit-Test" + DateTime.Now,
                        }
                    };

                    var testSteps = testCase.testCaseSteps;
                    //foreach (var testStep in testCase.testCaseSteps)
                    //{
                    var stepResult1 = new TestStepResult
                    {
                        testCaseStepId     = testSteps[0].testCaseStepId,
                        actualResult       = "Error message should be correct for Annual Net Profit/(Net Loss) Before Tax cell",
                        screenshotURL      = "",
                        status             = "Pass",
                        error              = "",
                        executionStartTime = Convert.ToDateTime("2020-06-30T17:35:36.577"),
                        executionEndTime   = Convert.ToDateTime("2020-06-30T17:35:40.793")
                    };
                    guiResult.testResult.testStepResults.Add(stepResult1);

                    var stepResult2 = new TestStepResult
                    {
                        testCaseStepId     = testSteps[1].testCaseStepId,
                        actualResult       = "Error message should be correct for Annual Continuing Expenses cell",
                        screenshotURL      = "",
                        status             = "Pass",
                        error              = "",
                        executionStartTime = Convert.ToDateTime("2020-06-30T17:35:42.793"),
                        executionEndTime   = Convert.ToDateTime("2020-06-30T17:35:43.153")
                    };
                    guiResult.testResult.testStepResults.Add(stepResult2);

                    var stepResult3 = new TestStepResult
                    {
                        testCaseStepId     = testSteps[2].testCaseStepId,
                        actualResult       = "Error message should be correct for What is (in number of months) the amount of time  needed to operate at 100% in the event of a total  loss?",
                        screenshotURL      = "",
                        status             = "Pass",
                        error              = "",
                        executionStartTime = Convert.ToDateTime("2020-06-30T17:35:45.154"),
                        executionEndTime   = Convert.ToDateTime("2020-06-30T17:35:45.481")
                    };
                    guiResult.testResult.testStepResults.Add(stepResult3);

                    var stepResult4 = new TestStepResult
                    {
                        testCaseStepId     = testSteps[3].testCaseStepId,
                        actualResult       = "Error message should be correct for Extra Expense cell",
                        screenshotURL      = "",
                        status             = "Pass",
                        error              = "",
                        executionStartTime = Convert.ToDateTime("2020-06-30T17:35:47.496"),
                        executionEndTime   = Convert.ToDateTime("2020-06-30T17:35:47.800")
                    };
                    guiResult.testResult.testStepResults.Add(stepResult4);


                    _qvizClient.PostGUITestResults(guiResult);
                    Assert.AreEqual("Pass", guiResult.testResult.status);
                }
                else
                {
                    throw new Exception("There are NO GUI Test Cases available in the Project (" + QVizProject + ").");
                }
            }
            catch (Exception error)
            {
                Assert.Fail(error.Message);
            }
        }