예제 #1
0
        public void Run(IBrowser browser, ManualResetEvent pauseEvent, PersonDetails personDetails)
        {
            var headInjuryDetails = personDetails.StrokeConditionDetails.HeadInjuryDetails;

            browser.ClickElementWithCss($"[for='Sections_0_Questions_HIR1_Answers_{headInjuryDetails.IsAwaitingTests.ToYesNo()}']");
            browser.ClickElementWithCss("#nextPageButton");
            pauseEvent.WaitOne(Timeout.Infinite);

            if (headInjuryDetails.IsAwaitingTests)
            {
                return;
            }

            browser.EnterTextIntoElement("#Sections_0__Questions_1__Answer", headInjuryDetails.MonthsSinceFirstSymptom.ToString());
            browser.ClickElementWithCss("#nextPageButton");
            pauseEvent.WaitOne(Timeout.Infinite);

            if (browser.ElementIsVisible($"for='Sections_0_Questions_HIR3_Answers_{headInjuryDetails.HasFullyRecorvered.ToYesNo()}']"))
            {
                browser.ClickElementWithCss($"for='Sections_0_Questions_HIR3_Answers_{headInjuryDetails.HasFullyRecorvered.ToYesNo()}']");
                browser.ClickElementWithCss("#nextPageButton");
                pauseEvent.WaitOne(Timeout.Infinite);
            }

            if (!browser.ElementIsVisible($"[for='Sections_0_Questions_HIR3_Answers_{headInjuryDetails.HasFullyRecorvered.ToYesNo()}']"))
            {
                return;
            }

            browser.ClickElementWithCss($"[for='Sections_0_Questions_HIR3_Answers_{headInjuryDetails.HasFullyRecorvered.ToYesNo()}']");
            browser.ClickElementWithCss("#nextPageButton");
            pauseEvent.WaitOne(Timeout.Infinite);

            if (!browser.ElementIsVisible($"[for='Sections_0_Questions_HIR4_Answers_{headInjuryDetails.OnAnyOtherTreatment.ToYesNo()}']"))
            {
                return;
            }

            browser.ClickElementWithCss($"[for='Sections_0_Questions_HIR4_Answers_{headInjuryDetails.OnAnyOtherTreatment.ToYesNo()}']");
            browser.ClickElementWithCss("#nextPageButton");
            pauseEvent.WaitOne(Timeout.Infinite);

            if (!browser.ElementIsVisible($"[for='Sections_0_Questions_HIR5_Answers_{headInjuryDetails.WasInAComa.ToYesNo()}']"))
            {
                return;
            }

            browser.ClickElementWithCss($"[for='Sections_0_Questions_HIR5_Answers_{headInjuryDetails.WasInAComa.ToYesNo()}']");
            browser.ClickElementWithCss("#nextPageButton");
            pauseEvent.WaitOne(Timeout.Infinite);

            if (!browser.ElementIsVisible("#Sections_0_Questions_HIR6_Answers_Select"))
            {
                return;
            }

            browser.SelectTextFromDropdown("#Sections_0_Questions_HIR6_Answers_Select", headInjuryDetails.LastSustainedInjury.GetDescription());
            browser.ClickElementWithCss("#nextPageButton");
            pauseEvent.WaitOne(Timeout.Infinite);
        }
예제 #2
0
        public void Run(IBrowser browser, ManualResetEvent manualResetEvent, Journey journey)
        {
            var css = browser.FindElement("#PD2_Select") != null ? "#PD2_Select" : "#PD2a_Select";

            browser.SelectValueFromDropdown(css, journey.Person1Details.Title.ToString().ToLower());
            browser.EnterTextIntoElement("#FirstName", journey.Person1Details.FirstName);
            browser.EnterTextIntoElement("#Surname", journey.Person1Details.Surname);

            browser.EnterTextIntoElement("#EmailAddress", journey.Person1Details.EmailAddress);
            browser.EnterTextIntoElement("#AddressLine1", journey.Person1Details.DoorNumber);
            browser.EnterTextIntoElement("#PostCode", journey.Person1Details.Postcode);
            browser.ClickElementWithCss("#findAddressLink");

            if (journey.SingleOrJoint == WhoPage.SingleOrJoint.Joint)
            {
                browser.SelectValueFromDropdown("#PD20a_Select", journey.Person2Details.Title.ToString().ToLower());
                browser.EnterTextIntoElement("#PartnerFirstName", journey.Person2Details.FirstName);
                browser.EnterTextIntoElement("#PartnerSurname", journey.Person2Details.Surname);
                browser.EnterTextIntoElement("#PartnerEmailAddress", journey.Person2Details.EmailAddress);
            }

            browser.EnterTextIntoElement("#PhoneNumber", journey.Person1Details.PhoneNumber);

            if (browser.ElementIsVisible(".Contact_email"))
            {
                browser.ClickElementWithCss(".Contact_email");
                browser.ClickElementWithCss(".Contact_telephone");
                browser.ClickElementWithCss(".Contact_post");
            }

            browser.ClickElementWithCss("#nextPageButton");

            manualResetEvent.WaitOne(Timeout.Infinite);
        }
예제 #3
0
        private void HandlePersonDetails(IBrowser browser, PersonDetails personDetails, bool isMainApplicant)
        {
            var personNumber = isMainApplicant ? "1" : "2";
            var personType   = isMainApplicant ? "Main" : "Second";

            browser.ClickElementWithCss($"[for='applicant-{personNumber}-title-{personDetails.Title.ToString().ToLower()}']");
            browser.EnterTextIntoElement($"#Enquiry_{personType}ApplicantFirstName", personDetails.FirstName);
            browser.EnterTextIntoElement($"#Enquiry_{personType}ApplicantLastName", personDetails.Surname);
            browser.ClickElementWithCss($"[for='applicant-{personNumber}-gender-{personDetails.Gender.ToString().Substring(0, 1).ToLower()}']");
            browser.ClickElementWithCss($"[for='applicant-{personNumber}-maritalstatus-{personDetails.MaritalStatus.ToString().ToLower()}']");
            browser.EnterTextIntoElement($"#dob-{personNumber}-dd", personDetails.DateOfBirth.ToString("dd"));
            browser.EnterTextIntoElement($"#dob-{personNumber}-mm", personDetails.DateOfBirth.ToString("MM"));
            browser.EnterTextIntoElement($"#dob-{personNumber}-yyyy", personDetails.DateOfBirth.ToString("yyyy"));

            if (personNumber == "1")
            {
                browser.EnterTextIntoElement("#Enquiry_HouseNum", personDetails.HouseNumber);
                browser.EnterTextIntoElement("#Enquiry_PostCode", personDetails.Postcode);
                browser.ClickElementWithCss("#Enquiry_FindAddress");

                if (browser.ElementIsVisible("#Enquiry_FullAddressSelect"))
                {
                    browser.SelectValueFromDropdown("#Enquiry_FullAddressSelect", "0");
                }
            }

            browser.ClickElementWithCss($"[for='a{personNumber}-tobacco-{personDetails.IsSmoker.ToYesNo()}']");
        }
예제 #4
0
        public void EnterTextIntoElement(string cssSelector, string text)
        {
            if (!_browser.ElementIsVisible(cssSelector))
            {
                throw new ElementNotFoundException($"Cannot find the element '{cssSelector}'{Environment.NewLine}Page '{_browser.PageTitle}'{Environment.NewLine}Url: {_browser.CurrentUrl}");
            }

            _browser.EnterTextIntoElement(cssSelector, text);
        }
예제 #5
0
        public void Run(IBrowser browser, ManualResetEvent pauseEvent, PersonDetails personDetails)
        {
            var bloodPressureDetails = personDetails.HeartConditionDetails.BloodPressureDetails;

            browser.EnterTextIntoElement("#Sections_0__Questions_0__Answer", bloodPressureDetails.MonthsSinceFirstDiagnosed.ToString());
            browser.ClickElementWithCss("#nextPageButton");
            pauseEvent.WaitOne(Timeout.Infinite);

            browser.EnterTextIntoElement("#Sections_0__Questions_1__Answer", bloodPressureDetails.MonthsSinceCheckedByDoctor.ToString());
            browser.ClickElementWithCss("#nextPageButton");
            pauseEvent.WaitOne(Timeout.Infinite);

            if (browser.ElementIsVisible($"[for='Sections_0_Questions_HYPERT3_Answers_{bloodPressureDetails.HasAbnormalHeartProblems.ToYesNo()}']"))
            {
                browser.ClickElementWithCss($"[for='Sections_0_Questions_HYPERT3_Answers_{bloodPressureDetails.HasAbnormalHeartProblems.ToYesNo()}']");
                browser.ClickElementWithCss("#nextPageButton");
                pauseEvent.WaitOne(Timeout.Infinite);
            }

            if (browser.ElementIsVisible($"[for='Sections_0_Questions_HYPERT4_Answers_{bloodPressureDetails.HasKidneyProblems.ToYesNo()}']"))
            {
                browser.ClickElementWithCss($"[for='Sections_0_Questions_HYPERT4_Answers_{bloodPressureDetails.HasKidneyProblems.ToYesNo()}']");
                browser.ClickElementWithCss("#nextPageButton");
                pauseEvent.WaitOne(Timeout.Infinite);
            }

            if (browser.ElementIsVisible($"[for='Sections_0_Questions_HYPERT6_Answers_{bloodPressureDetails.HasRaisedCholesterol.ToYesNo()}']"))
            {
                browser.ClickElementWithCss($"[for='Sections_0_Questions_HYPERT6_Answers_{bloodPressureDetails.HasRaisedCholesterol.ToYesNo()}']");
                browser.ClickElementWithCss("#nextPageButton");
                pauseEvent.WaitOne(Timeout.Infinite);
            }

            if (browser.ElementIsVisible("#Sections_0_Questions_HYPERT7_Answers_Select"))
            {
                browser.SelectTextFromDropdown("#Sections_0_Questions_HYPERT7_Answers_Select", bloodPressureDetails.BloodPressureReading.GetDescription());
                browser.ClickElementWithCss("#nextPageButton");
                pauseEvent.WaitOne(Timeout.Infinite);
            }
        }