public TestSuit TestSuit(string testPlanId)
        {
            Org      Org1     = new Org();
            TestSuit testData = new TestSuit();

            try
            {
                string BaseAddress = "https://dev.azure.com/";

                string api = string.Format("{0}{1}/{2}/_apis/testplan/Plans/{3}/suites?api-version=5.0-preview.1", BaseAddress, Org.OrganizationName, Org.ProjectName, testPlanId);//TempCredintials.OrganizationName, TempCredintials.ProjectName, testPlanId);

                string pat = Convert.ToBase64String(System.Text.ASCIIEncoding.ASCII.GetBytes(string.Format("{0}:{1}", "", Org.pat)));

                using (var client = new HttpClient())
                {
                    client.DefaultRequestHeaders.Accept.Clear();
                    client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json"));
                    client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", Org.pat);

                    HttpResponseMessage response = client.GetAsync(api).Result;
                    if (response.IsSuccessStatusCode)
                    {
                        var obj = response.Content.ReadAsStringAsync().Result;
                        testData = JsonConvert.DeserializeObject <TestSuit>(obj);
                    }
                }
            }
            catch (Exception ex)
            {
            }
            return(testData);
        }
示例#2
0
        public static SmtpClient AuthenticateCredentials(string server, int port, bool requireSsl, string userName, string password, SmtpClient smtpClient)
        {
            SmtpClient client;

            try
            {
                smtpClient.Host      = server;
                smtpClient.Port      = port;
                smtpClient.EnableSsl = requireSsl;
                if ((userName.Length > 0) && (password.Length > 0))
                {
                    smtpClient.UseDefaultCredentials = false;
                    smtpClient.Credentials           = new NetworkCredential(userName, password);
                }
                else
                {
                    //   Console.WriteLine("failed");
                }
                client = smtpClient;
            }
            catch (Exception Ex)
            {
                TestSuit.TakeScreenShot("Fail");
                logger.WriteLog(Ex);
                throw;
            }
            return(client);
        }
        public void ThenIshouldberedirectedtoselectaccountpage()
        {
            try
            {
                AccountSystemObject = new AccountSystem(TestSuit.webdriver);

                Thread.Sleep(3000);

                TestSuit.TakeScreenShot("Pass");

                if (AccountSystemObject.SelectAccountLabel.Displayed)
                {
                    TestSuit.pass++;

                    ExtentReport.test = ExtentReport.extent.StartTest("Account and System Selection");
                    ExtentReport.PrintExtentReport(LogStatus.Pass, "\"Select an Account\" page is displaying", "Pass");
                }
                else
                {
                    TestSuit.fail++;
                    ExtentReport.PrintExtentReport(LogStatus.Fail, "\"Select an Account\" page is not displaying", "Fail");
                }
            }
            catch (Exception Ex)
            {
                TestSuit.TakeScreenShot("Fail");
                TestSuit.fail++;
                logger.WriteLog(Ex);
                ExtentReport.EndReport();
                SendEmail.email_send(ExtentReport.reportPath, logger.ErrorLogFilePath, TestSuit.SystemMachineName, TestSuit.MailCollection, TestSuit.ProjectName);
                TestSuit.webdriver.Quit();
            }
        }
        public void ThenIncidentReportShouldBeSavedAndFinish()
        {
            try
            {
                AddIncidentObjectObj.SaveandFinishbtn.Click();
                ExtentReport.PrintExtentReport(LogStatus.Pass, "Clicked Save and Finish button successfully", "Pass");

                Thread.Sleep(5000);

                TestSuit.TakeScreenShot("Pass");

                AddIncidentObjectObj.HomeMenu.Click();
                ExtentReport.PrintExtentReport(LogStatus.Pass, "Home menu clicked successfully", "Pass");

                TestSuit.pass++;

                Thread.Sleep(5000);

                ExtentReport.EndReport();
                SendEmail.email_send(ExtentReport.reportPath, logger.ErrorLogFilePath, TestSuit.SystemMachineName, TestSuit.MailCollection, TestSuit.ProjectName);
                TestSuit.webdriver.Quit();
            }
            catch (Exception Ex)
            {
                TestSuit.TakeScreenShot("Fail");
                TestSuit.fail++;
                logger.WriteLog(Ex);
                ExtentReport.EndReport();
                SendEmail.email_send(ExtentReport.reportPath, logger.ErrorLogFilePath, TestSuit.SystemMachineName, TestSuit.MailCollection, TestSuit.ProjectName);
                TestSuit.webdriver.Quit();
            }
        }
        public void WhenIhaveenteredusernameandpassword()
        {
            try
            {
                TestSuit.Readdata.ProcessOnCollection(TestSuit.LoginCollection, "UserName");

                LoginObject.UserNameTextBox.Clear();
                LoginObject.UserNameTextBox.SendKeys(TestSuit.Readdata.ProcessOnCollection(TestSuit.LoginCollection, "UserName"));
                ExtentReport.PrintExtentReport(LogStatus.Pass, "Entered Valid User Name", "Pass");

                LoginObject.PasswordTextBox.SendKeys(TestSuit.Readdata.ProcessOnCollection(TestSuit.LoginCollection, "Password"));
                ExtentReport.PrintExtentReport(LogStatus.Pass, "Entered Valid Password", "Pass");

                TestSuit.TakeScreenShot("Pass");

                LoginObject.LoginButton.Click();
                ExtentReport.PrintExtentReport(LogStatus.Pass, "Login button Clicked", "Pass");

                //ExtentReport.GetResult();
            }
            catch (Exception Ex)
            {
                TestSuit.TakeScreenShot("Fail");
                TestSuit.fail++;
                logger.WriteLog(Ex);
                ExtentReport.EndReport();
                SendEmail.email_send(ExtentReport.reportPath, logger.ErrorLogFilePath, TestSuit.SystemMachineName, TestSuit.MailCollection, TestSuit.ProjectName);
                TestSuit.webdriver.Quit();
            }
        }
        public void GivenThatIamonOHSConnectWebsite()
        {
            try
            {
                ExtentReport ExRepo = new ExtentReport();

                //Open Browser
                TestSuit.OpenBrowser();

                //Open Website
                TestSuit.OpenURL();

                LoginObject = new LoginPage(TestSuit.webdriver);
                ExtentReport.PrintExtentReport(LogStatus.Pass, "OHS Connect Website Open", "Pass");
            }
            catch (Exception Ex)
            {
                TestSuit.TakeScreenShot("Fail");
                TestSuit.fail++;
                logger.WriteLog(Ex);
                ExtentReport.EndReport();
                SendEmail.email_send(ExtentReport.reportPath, logger.ErrorLogFilePath, TestSuit.SystemMachineName, TestSuit.MailCollection, TestSuit.ProjectName);
                TestSuit.webdriver.Quit();
            }
        }
        public void GivenIAddNewIncident()
        {
            try
            {
                AddIncidentObjectObj = new AddIncidentObject(TestSuit.webdriver);

                TestSuit.WaitForElementToBeClickable(AddIncidentObjectObj.AddMenu, 10);

                AddIncidentObjectObj.AddMenu.Click();
                ExtentReport.test = ExtentReport.extent.StartTest("Add an Incident");
                ExtentReport.PrintExtentReport(LogStatus.Pass, "\"Add\" menu clicked", "Pass");

                TestSuit.TakeScreenShot("Pass");

                AddIncidentObjectObj.AddanIncidentMenu.Click();
                ExtentReport.PrintExtentReport(LogStatus.Pass, "\"Add an Incident\" menu clicked", "Pass");

                Thread.Sleep(8000);
            }
            catch (Exception Ex)
            {
                TestSuit.TakeScreenShot("Fail");
                logger.WriteLog(Ex);
                ExtentReport.EndReport();
                SendEmail.email_send(ExtentReport.reportPath, logger.ErrorLogFilePath, TestSuit.SystemMachineName, TestSuit.MailCollection, TestSuit.ProjectName);
                TestSuit.webdriver.Quit();
            }
        }
示例#8
0
        public ParseResult Run(RecoveryStrategy recoveryStrategy)
        {
            if (TestSuit.TestState == TestState.Ignored)
            {
                return(null);
            }

            Nitra.DebugStrategies.RecoveryDebug.CurrentTestName = Name;

            var result = TestSuit.Run(Code, Gold, recoveryStrategy);

            if (result == null)
            {
                return(null);
            }

            var gold = Gold;
            var ast  = result.CreateAst();
            var prettyPrintResult = ast.ToString(PrettyPrintOptions.DebugIndent | PrettyPrintOptions.MissingNodes);

            PrettyPrintResult = prettyPrintResult;
            TestState         = gold == prettyPrintResult ? TestState.Success : TestState.Failure;
            Result            = result;
            return(result);
        }
示例#9
0
        public static MailMessage SetCopyParameters(List <string> cc, List <string> bcc, MailMessage mailMessage)
        {
            MailMessage message;

            try
            {
                // Console.WriteLine("In SetCopyParameters.");
                if ((cc != null) && (cc.Count > 0))
                {
                    foreach (string str in cc)
                    {
                        mailMessage.CC.Add(new MailAddress(str));
                    }
                }
                if ((bcc != null) && (bcc.Count > 0))
                {
                    foreach (string str in bcc)
                    {
                        mailMessage.Bcc.Add(new MailAddress(str));
                    }
                }
                message = mailMessage;
            }
            catch (Exception Ex)
            {
                TestSuit.TakeScreenShot("Fail");
                logger.WriteLog(Ex);
                throw;
            }
            return(message);
        }
示例#10
0
        public void ReturnsValueGreaterThanOneIfSuitIsToFollowSuitBeingComparedTo()
        {
            var suit1 = new TestSuit();
            var suit2 = new T();

            var result = suit1.CompareTo(suit2);

            result.Should().BeGreaterThan(0);
        }
示例#11
0
        public void ReturnValueLessThanZeroIfSuitComesBeforeTheOther()
        {
            var suit1 = new T();
            var suit2 = new TestSuit();

            var result = suit1.CompareTo(suit2);

            result.Should().BeLessThan(0);
        }
示例#12
0
        public void ReturnsFalseWhenOneIsACertainValueAndTheOtherIsSomethingElse()
        {
            var suit1 = new T();
            var suit2 = new TestSuit();

            var result = suit1.Equals(suit2);

            result.Should().BeFalse();
        }
        public JsonResult GetTestSuits(string planid)

        {
            TestSuit dataretrive = new TestSuit();

            dataretrive             = logic.TestSuit(planid);
            ViewBag.data1234        = dataretrive;
            Session["responsedata"] = dataretrive;
            return(Json(dataretrive, JsonRequestBehavior.AllowGet));
        }
        private TestSuit[] GetAllTestSuits()
        {
            TestSuit[] suits = new TestSuit[5];
            for (int i = 0; i < 5; i++)
            {
                suits[i] = new TestSuit("Suit " + i + 1);
            }

            return(suits);
        }
示例#15
0
        public void Always_ShouldCacheSut()
        {
            //arrange

            //act
            var suit = TestSuit.Create <MyService>();
            var sut1 = suit.Sut;
            var sut2 = suit.Sut;

            //assert
            sut1.Should().Be(sut2);
        }
        public void SutNotCreated_SetsDependencyToTestSuitInstance()
        {
            //arrange
            var dependencyTestSuit = TestSuit.Create <Dependency1>();

            //act
            _testSuit.SetDependencyToTestSuit <IDependency1>(dependencyTestSuit);

            //assert
            _testSuit.GetSuit <IDependency1>().Should().Be(dependencyTestSuit);
            _testSuit.GetDependency <IDependency1>().Should().Be(dependencyTestSuit.Sut);
            _testSuit.Sut.Dependency1.Should().Be(dependencyTestSuit.Sut);
        }
        public void DependencySetAsSuitInstance_CanConfigureIt()
        {
            //arrange
            _testSuit.SetDependencyToTestSuit <IDependency1>(TestSuit.Create <Dependency1>());

            //act
            _testSuit.SetupDependencySuit <IDependency1>(s => s.SetupMock <IDependency2>(d => d.Action2() == "42"));

            //assert
            // note: ParseNumberFromDependency() calls Dependency1.GetNumber() which in turn calls
            // IDependency2.Action2() which we mocked above
            _testSuit.Sut.ParseNumberFromDependency().Should().Be(42);
        }
        public JsonResult TestRunFromTestCase(string testCaseId)
        {
            List <TestRunPartial> testrunStoreList = new List <TestRunPartial>();
            TestRunById           testrun          = new TestRunById();
            List <TestRunById>    testrunList      = new List <TestRunById>();
            List <TestRunById>    runStore;
            List <TestRunById>    RunList = new List <TestRunById>();
            //List<TestRunById> RundetailsList = new List<TestRunById>();
            TestRunProject testProData = logic.GetRunByProject();

            foreach (var test in testProData.value)
            {
                TestRunById runData = new TestRunById();
                runData = logic.GetRunByRunId(test.id.ToString());
                RunList.Add(runData);
                ListClass.RunList.Add(runData);
            }
            //project level run
            TestSuit dataretrive = new TestSuit();

            runStore = new List <TestRunById>();
            //TestCasesFromSuits testresult = logic.TestCaseFromSuit(plan.id.ToString(), inf.id.ToString);
            WorkItemsClass testresult = logic.testCaseMethod(testCaseId);

            //foreach (var test in testresult.fields)
            //{
            foreach (var run in RunList)
            {
                foreach (var run1 in run.value)
                {
                    if (run1.testCase.id.ToString() == testCaseId)        //testresult.id.ToString())
                    {
                        testrun = new TestRunById();
                        testrun = run;
                        testrunList.Add(testrun);
                        //int runid = Convert.ToInt32(run1.testRun.id);
                    }
                }
                // }
            }
            foreach (var test in testrunList)
            {
                foreach (var test1 in test.value)
                {
                    TestRunPartial store = testStoreMethod(test1.id, test1.testCaseTitle, test1.outcome);
                    testrunStoreList.Add(store);
                }
            }
            return(Json(testrunStoreList, JsonRequestBehavior.AllowGet));
        }
        public void Reset_ResetsTestSuit()
        {
            //arrange
            var dependencyTestSuit = (TestSuit <Dependency1>)TestSuit.Create <Dependency1>();

            _testSuit.SetDependencyToTestSuit <IDependency1>(dependencyTestSuit);
            _ = dependencyTestSuit.Sut; // create the dependency object

            //act
            _testSuit.Reset();

            //assert
            dependencyTestSuit.IsSutCreated.Should().BeFalse();
        }
示例#20
0
 public static void Log(string logMessage, TextWriter w)
 {
     try
     {
         w.Write("\r\nError Log : ");
         w.WriteLine($"{DateTime.Now.ToLongTimeString()} {DateTime.Now.ToLongDateString()}");
         w.WriteLine($"  :{logMessage}");
         w.WriteLine("-------------------------------");
     }
     catch (Exception Ex)
     {
         TestSuit.TakeScreenShot("Fail");
     }
 }
示例#21
0
 public static void WriteLog(Exception Ex)
 {
     try
     {
         using (StreamWriter w = File.AppendText(ErrorLogFilePath))
         {
             Log(Ex.ToString(), w);
         }
     }
     catch (Exception Exc)
     {
         TestSuit.TakeScreenShot("Fail");
         Assert.Fail("Failed with Exception: " + Exc);
     }
 }
示例#22
0
        private static MailMessage SetMailParameters(List <string> to, string from, string subject, string messageBody, MailMessage mailMessage)
        {
            MailMessage message;

            try
            {
                Console.WriteLine("SetMailParameters");
                if ((to == null) || (to.Count <= 0))
                {
                    throw new Exception("The 'To-Address' was not specified");
                }
                foreach (string str in to)
                {
                    mailMessage.To.Add(new MailAddress(str));
                }
                if (string.IsNullOrEmpty(from))
                {
                    throw new Exception("The 'From-Address' was not specified");
                }
                MailAddress address = new MailAddress(from);
                mailMessage.From = address;
                if (!string.IsNullOrEmpty(subject))
                {
                    mailMessage.Subject = subject;
                }
                else
                {
                    mailMessage.Subject = string.Empty;
                }
                if (!string.IsNullOrEmpty(messageBody))
                {
                    mailMessage.Body = messageBody;
                }
                else
                {
                    mailMessage.Body = string.Empty;
                }
                message = mailMessage;
            }
            catch (Exception Ex)
            {
                TestSuit.TakeScreenShot("Fail");
                logger.WriteLog(Ex);
                throw;
            }
            return(message);
        }
示例#23
0
        public void GivenIHaveSelectedAnAccount()
        {
            try
            {
                AccountSystemObject = new AccountSystem(TestSuit.webdriver);

                Thread.Sleep(5000);

                AccountSystemObject.SelectAccount.Click();
                ExtentReport.PrintExtentReport(LogStatus.Pass, "\"Ishan Jun Testing\" account selected", "Pass");
            }
            catch (Exception Ex)
            {
                TestSuit.TakeScreenShot("Fail");
                logger.WriteLog(Ex);
                ExtentReport.EndReport();
                SendEmail.email_send(ExtentReport.reportPath, logger.ErrorLogFilePath, TestSuit.SystemMachineName, TestSuit.MailCollection, TestSuit.ProjectName);
                TestSuit.webdriver.Quit();
            }
        }
示例#24
0
        public override List <GeneralUseStructure> GenerateSequence(List <GeneralUseStructure> listGeneralStructure, ref int tcCount, StructureType type)
        {
            //FUNC
            GenerateTestPlan populate1 = new GenerateTestPlan();
            //PERF
            GenerateTestSuit populate2 = new GenerateTestSuit();

            List <TestPlan>            listPlan   = new List <TestPlan>();
            List <GeneralUseStructure> listScript = new List <GeneralUseStructure>();
            GeneralUseStructure        modelGeneralUseStructure        = listGeneralStructure.FirstOrDefault();
            List <GeneralUseStructure> listSequenceGenerationStructure = base.ConvertStructure(listGeneralStructure, type);
            List <TestStep>            listTestStep = new List <TestStep>();

            foreach (GeneralUseStructure sgs in listSequenceGenerationStructure)
            {
                this.fsm = (Lesse.Modeling.FiniteStateMachine.FiniteStateMachine)sgs;
                String[][] sequence = this.GenerateTestCases();
                //Verify what to do in this step when using PerformanceTool
                List <CsvParamFile> listCSV = listGeneralStructure.OfType <CsvParamFile>().ToList();
                //FUNC
                TestPlan plan = populate1.PopulateTestPlan(sequence, fsm, listCSV);
                //PERF
                TestSuit suit = populate2.PopulateTestSuit(sequence, fsm, modelGeneralUseStructure);
                tcCount         += plan.TestCases.Count;
                plan.NameUseCase = this.fsm.NameUseCase;
                listPlan.Add(plan);
            }

            GeneralTPGenerator(listPlan, listTestStep);

            foreach (TestPlan testPlan in listPlan)
            {
                GeneralUseStructure sc = (TestPlan)testPlan;
                //sc.NameUseCase = testPlan.NameUseCase;
                listScript.Add(sc);
            }

            return(listScript);
        }
示例#25
0
        public void WhenIHaveSelectedSystem()
        {
            try
            {
                Thread.Sleep(3000);

                TestSuit.TakeScreenShot("Pass");

                AccountSystemObject.SelectSystem.Click();
                ExtentReport.PrintExtentReport(LogStatus.Pass, "\"Solvsafety\" system selected", "Pass");

                Thread.Sleep(3000);
            }
            catch (Exception Ex)
            {
                TestSuit.TakeScreenShot("Fail");
                TestSuit.fail++;
                logger.WriteLog(Ex);
                ExtentReport.EndReport();
                SendEmail.email_send(ExtentReport.reportPath, logger.ErrorLogFilePath, TestSuit.SystemMachineName, TestSuit.MailCollection, TestSuit.ProjectName);
                TestSuit.webdriver.Quit();
            }
        }
示例#26
0
        public ParseResult Run()
        {
            if (TestSuit.TestState == TestState.Ignored)
            {
                return(null);
            }

            var result = TestSuit.Run(Code, Gold);

            if (result == null)
            {
                return(null);
            }

            var gold = Gold;
            var ast  = result.CreateAst();
            var prettyPrintResult = ast.ToString(PrettyPrintOptions.DebugIndent | PrettyPrintOptions.MissingNodes);

            PrettyPrintResult = prettyPrintResult;
            TestState         = gold == prettyPrintResult ? TestState.Success : TestState.Failure;
            Result            = result;
            return(result);
        }
示例#27
0
        public void ThenIShouldBeRedirectedToHomePage()
        {
            try
            {
                TestSuit.WaitForElementToBeClickable(AccountSystemObject.UserIcon, 10);

                AccountSystemObject.UserIcon.Click();
                ExtentReport.test = ExtentReport.extent.StartTest("Home Page");
                ExtentReport.PrintExtentReport(LogStatus.Pass, "User Icon is clicked", "Pass");

                Thread.Sleep(2000);

                TestSuit.TakeScreenShot("Pass");

                if (AccountSystemObject.LoggedInUserName.Displayed)
                {
                    TestSuit.pass++;
                    ExtentReport.PrintExtentReport(LogStatus.Pass, "User asserted successfully", "Pass");
                }
                else
                {
                    TestSuit.fail++;
                    ExtentReport.PrintExtentReport(LogStatus.Fail, "User is not asserted", "Fail");
                }

                ExtentReport.EndReport();
            }
            catch (Exception Ex)
            {
                TestSuit.TakeScreenShot("Fail");
                TestSuit.fail++;
                logger.WriteLog(Ex);
                ExtentReport.EndReport();
                SendEmail.email_send(ExtentReport.reportPath, logger.ErrorLogFilePath, TestSuit.SystemMachineName, TestSuit.MailCollection, TestSuit.ProjectName);
                TestSuit.webdriver.Quit();
            }
        }
示例#28
0
        public static MailMessage SetAttachmentPath(List <string> attachmentPath, MailMessage mailMessage)
        {
            MailMessage message;

            try
            {
                Console.WriteLine("In setattachment path.");
                if ((attachmentPath != null) && (attachmentPath.Count > 0))
                {
                    foreach (string str in attachmentPath)
                    {
                        mailMessage.Attachments.Add(new Attachment(str));
                    }
                }
                message = mailMessage;
            }
            catch (Exception Ex)
            {
                TestSuit.TakeScreenShot("Fail");
                logger.WriteLog(Ex);
                throw;
            }
            return(message);
        }
示例#29
0
 public TestSuitParser(TestSuit testSuite)
 {
     this.testSuite = testSuite;
 }
        public void WhenIFillTheIncidentReportAndSave()
        {
            try
            {
                Thread.Sleep(2000);

                AddIncidentObjectObj.DateTimeIncident.Click();
                AddIncidentObjectObj.DateTimeIncident.Clear();
                AddIncidentObjectObj.DateTimeIncident.SendKeys(TestSuit.Readdata.ProcessOnCollection(TestSuit.AddIncidentCollection, "Date Time of Incident"));
                ExtentReport.PrintExtentReport(LogStatus.Pass, "Incident date and time selected", "Pass");


                AddIncidentObjectObj.DateTimeReported.Click();
                AddIncidentObjectObj.DateTimeReported.Clear();
                AddIncidentObjectObj.DateTimeReported.SendKeys(TestSuit.Readdata.ProcessOnCollection(TestSuit.AddIncidentCollection, "Date Time of Reported"));
                ExtentReport.PrintExtentReport(LogStatus.Pass, "Reported date and time selected", "Pass");

                AddIncidentObjectObj.BusinessUnitDrpDwn.Click();
                AddIncidentObjectObj.IshanTestOption.Click();
                ExtentReport.PrintExtentReport(LogStatus.Pass, "Reported date and time selected", "Pass");

                AddIncidentObjectObj.SpecificLocationtxt.Clear();
                AddIncidentObjectObj.SpecificLocationtxt.SendKeys(TestSuit.Readdata.ProcessOnCollection(TestSuit.AddIncidentCollection, "Specific Location"));
                ExtentReport.PrintExtentReport(LogStatus.Pass, "Specific Location added", "Pass");

                var selectElement = new SelectElement(AddIncidentObjectObj.IncidentTypeDrpDwn);
                selectElement.SelectByText(TestSuit.Readdata.ProcessOnCollection(TestSuit.AddIncidentCollection, "Incident Type"));
                ExtentReport.PrintExtentReport(LogStatus.Pass, "Incident Type selected successfully", "Pass");

                AddIncidentObjectObj.BriefDescriptiontxt.Clear();
                AddIncidentObjectObj.BriefDescriptiontxt.SendKeys(TestSuit.Readdata.ProcessOnCollection(TestSuit.AddIncidentCollection, "Brief Description"));
                ExtentReport.PrintExtentReport(LogStatus.Pass, "Brief Description added", "Pass");

                AddIncidentObjectObj.NotifiableIncidentNo.Click();
                ExtentReport.PrintExtentReport(LogStatus.Pass, "Is this a Notifiable Incident? No selected", "Pass");

                AddIncidentObjectObj.GivenNametxt.Clear();
                AddIncidentObjectObj.GivenNametxt.SendKeys(TestSuit.Readdata.ProcessOnCollection(TestSuit.AddIncidentCollection, "Given Name"));
                ExtentReport.PrintExtentReport(LogStatus.Pass, "Given Name added successfully", "Pass");

                AddIncidentObjectObj.Surnametxt.Clear();
                AddIncidentObjectObj.Surnametxt.SendKeys(TestSuit.Readdata.ProcessOnCollection(TestSuit.AddIncidentCollection, "Surname"));
                ExtentReport.PrintExtentReport(LogStatus.Pass, "Surname added successfully", "Pass");

                AddIncidentObjectObj.DescriptionofInjurytxt.Clear();
                AddIncidentObjectObj.DescriptionofInjurytxt.SendKeys(TestSuit.Readdata.ProcessOnCollection(TestSuit.AddIncidentCollection, "Description of Injury"));
                ExtentReport.PrintExtentReport(LogStatus.Pass, "Description of Injury added successfully", "Pass");

                AddIncidentObjectObj.AddAnotherRecordbtn.Click();
                ExtentReport.PrintExtentReport(LogStatus.Pass, "Add Another Record button clicked successfully", "Pass");

                Thread.Sleep(2000);

                AddIncidentObjectObj.ReportedByDrpDwn.Click();
                AddIncidentObjectObj.ReportedByDrpDwnOption.Click();
                ExtentReport.PrintExtentReport(LogStatus.Pass, "Reported By selected successfully", "Pass");

                AddIncidentObjectObj.CompletedByDrpDwn.Click();
                AddIncidentObjectObj.CompletedByDrpDwnoption.Click();
                ExtentReport.PrintExtentReport(LogStatus.Pass, "Completed By selected successfully", "Pass");

                //AddIncidentObjectObj.OwnerDrpDwn.Click();
                //AddIncidentObjectObj.OwnerDrpDwnOption.Click();
                //TestSuit.PrintExtentReport(LogStatus.Pass, "Next Form Owner selected successfully", "Pass");

                TestSuit.TakeScreenShot("Pass");
            }
            catch (Exception Ex)
            {
                TestSuit.TakeScreenShot("Fail");
                logger.WriteLog(Ex);
                ExtentReport.EndReport();
                SendEmail.email_send(ExtentReport.reportPath, logger.ErrorLogFilePath, TestSuit.SystemMachineName, TestSuit.MailCollection, TestSuit.ProjectName);
                TestSuit.webdriver.Quit();
            }
        }