public void Run(IBrowser browser, ManualResetEvent pauseEvent, PersonDetails personDetails) { browser.ClickElementWithCss($"[for='Sections_0_Questions_INC10_Answers_{personDetails.IsHIVPositive.ToYesNo()}']"); browser.ClickElementWithCss($"[for='Sections_0_Questions_INC11_Answers_{personDetails.IsDiabetic.ToYesNo()}']"); browser.ClickElementWithCss($"[for='Sections_0_Questions_INC12_Answers_{personDetails.HasHeartCondition.ToYesNo()}']"); browser.ClickElementWithCss($"[for='Sections_0_Questions_INC13_Answers_{personDetails.HasStroke.ToYesNo()}']"); browser.ClickElementWithCss("#nextPageButton"); pauseEvent.WaitOne(Timeout.Infinite); if (!personDetails.IsHIVPositive && !personDetails.HasHeartCondition && !personDetails.HasStroke) { return; } if (personDetails.IsHIVPositive) { browser.SelectValueFromDropdown("#Sections_0_Questions_HIV_Answers_Select", personDetails.HIVCondition.ToString().ToLower()); } if (personDetails.IsDiabetic) { browser.ClickElementWithCss($"[for='Sections_0_Questions_INC11a_Answers_{personDetails.IsGestationalDiabetes.ToYesNo()}']"); } if (personDetails.HasHeartCondition) { var details = personDetails.HeartConditionDetails; details.HeartConditions.ToList().ForEach(condition => { browser.ClickElementWithCss("#questionCodeLv2 .selectize-control"); browser.WaitForJQueryProcessing(TimeSpan.FromSeconds(5000)); browser.FindElements(".selectize-dropdown-content div").Single(x => x.Text.Contains(condition.GetDescription())).Click(); }); } if (personDetails.HasStroke) { var details = personDetails.StrokeConditionDetails; details.StrokeConditions.ToList().ForEach(condition => { browser.ClickElementWithCss("#questionCodeSSH_2 .selectize-control"); browser.WaitForJQueryProcessing(TimeSpan.FromSeconds(5000)); browser.FindElements(".selectize-dropdown-content div").Single(x => x.Text.Contains(condition.GetDescription())).Click(); }); } browser.ClickElementWithCss("#appId"); browser.ClickElementWithCss("#nextPageButton"); pauseEvent.WaitOne(Timeout.Infinite); HandleSubsequentHIVPages(browser, pauseEvent, personDetails); HandleSubsequentDiabetesConditionPages(browser, pauseEvent, personDetails); HandleSubsequentHeartConditionPages(browser, pauseEvent, personDetails); HandleSubsequentStrokeConditionPages(browser, pauseEvent, personDetails); }
public void Run(IBrowser browser, ManualResetEvent manualResetEvent, PersonDetails personDetails) { browser.ClickElementWithCss($"[for='Sections_0_Questions_INC20_Answers_{personDetails.HadTreatmentOnHeart.ToYesNo()}']"); browser.ClickElementWithCss($"[for='Sections_0_Questions_INC21_Answers_{personDetails.HadAsthma.ToYesNo()}']"); browser.ClickElementWithCss($"[for='Sections_0_Questions_INC22_Answers_{personDetails.HadAnyLiverDisorder.ToYesNo()}']"); browser.ClickElementWithCss("#nextPageButton"); manualResetEvent.WaitOne(Timeout.Infinite); if (!personDetails.HadTreatmentOnHeart && !personDetails.HadAsthma && !personDetails.HadAnyLiverDisorder) { return; } if (personDetails.HadTreatmentOnHeart) { browser.ClickElementWithCss("#questionCodeNQ1_INC20 .selectize-control"); browser.WaitForJQueryProcessing(TimeSpan.FromSeconds(500)); browser.FindElements(".selectize-dropdown-content div").Single(x => x.Text.Contains(personDetails.HeartDisorder)).Click(); browser.ClickElementWithCss("#questionCodeNQ1_INC20"); } if (personDetails.HadAsthma) { browser.ClickElementWithCss("#questionCodeNQ1_INC21 .selectize-control"); browser.WaitForJQueryProcessing(TimeSpan.FromSeconds(500)); browser.FindElements(".selectize-dropdown-content div").Single(x => x.Text.Contains(personDetails.AsthmaDisorder)).Click(); browser.ClickElementWithCss("#questionCodeNQ1_INC21"); } if (personDetails.HadAnyLiverDisorder) { browser.ClickElementWithCss("#questionCodeNQ1_INC22 .selectize-control"); browser.WaitForJQueryProcessing(TimeSpan.FromSeconds(500)); browser.FindElements(".selectize-dropdown-content div").Single(x => x.Text.Contains(personDetails.LiverDisorder)).Click(); browser.ClickElementWithCss("#questionCodeNQ1_INC22"); } browser.ClickElementWithCss("#nextPageButton"); manualResetEvent.WaitOne(Timeout.Infinite); if (personDetails.HeartDisorder == "Coronary artery disease") { browser.ClickElementWithCss("[for=Sections_0_Questions_HRUKCAD1_Answers_yes]"); browser.ClickElementWithCss("#nextPageButton"); manualResetEvent.WaitOne(Timeout.Infinite); } if (personDetails.AsthmaDisorder == "Asthma") { browser.ClickElementWithCss("[for=Sections_0_Questions_ASTH1_Answers_yes]"); browser.ClickElementWithCss("#nextPageButton"); manualResetEvent.WaitOne(Timeout.Infinite); } }
public void Run(IBrowser browser, ManualResetEvent manualResetEvent, PersonDetails personDetails) { browser.ClickElementWithCss($"[for='Sections_1_Questions_INC7_Answers_{personDetails.HasLivedInAfricaInLast2Years.ToYesNo()}']"); browser.ClickElementWithCss($"[for='Sections_1_Questions_INC8_Answers_{personDetails.IntendToLiveOutsideOfUkInNext2Years.ToYesNo()}']"); browser.ClickElementWithCss("#nextPageButton"); if (personDetails.IntendToLiveOutsideOfUkInNext2Years) { browser.ClickElementWithCss($"[for='Sections_1_Questions_INC8_1_Answers_{personDetails.TravelInfo.KnowsWhichCountryTheyWillTravelTo.ToYesNo()}']"); browser.ClickElementWithCss("#nextPageButton"); if (personDetails.TravelInfo.KnowsWhichCountryTheyWillTravelTo) { browser.ClickElementWithCss("[type='text']"); browser.FindElements(".option").Skip(TravelInfo.GetIndexOfCountry(personDetails.TravelInfo.Country)).First().Click(); browser.ClickElementWithCss("#INC8_1-answer"); browser.ClickElementWithCss("#nextPageButton"); browser.ClickElementWithCss($"[for='Sections_0_Questions_Grp1_1_Answers_{personDetails.TravelInfo.IntendToLiveInCountrySelected.ToYesNo()}']"); browser.ClickElementWithCss("#nextPageButton"); } } manualResetEvent.WaitOne(Timeout.Infinite); }
public void Run(IBrowser browser, ManualResetEvent pauseEvent, PersonDetails personDetails) { browser.ClickElementWithCss(".selectize-control"); browser.WaitForJQueryProcessing(TimeSpan.FromSeconds(5000)); browser.FindElements(".selectize-dropdown-content div").ToList()[4].Click(); browser.ClickElementWithCss("#Lv2-answer"); browser.ClickElementWithCss("#nextPageButton"); pauseEvent.WaitOne(Timeout.Infinite); }
public static void WaitForPageToLoad(this IBrowser browser, string timeout) { var timeoutSpan = TimeSpan.FromMilliseconds(double.Parse(timeout)); try { if (browser.FindElements(By.XPath("//div[contains(@id,'atlProgress')")).Count > 0) { browser.WaitForAjax(timeoutSpan); } } catch (InvalidOperationException e) { Trace.TraceInformation("Exception has been thrown but ignored as browser can be loading the page at that time: {0}", e); } browser.WaitForPageToLoad(timeoutSpan); }
public void Run(IBrowser browser, ManualResetEvent pausEvent, PersonDetails personDetails) { browser.ClickElementWithCss($"[for='Question_INC1_1_{personDetails.IsSmoker.ToYesNo()}']"); browser.ClickElementWithCss($"[for='Question_INC1_2_{personDetails.HasUsedRecreationalInLast5Years.ToYesNo()}']"); browser.ClickElementWithCss($"[for='Question_INC1_3_{personDetails.IsRegularDrinker.ToYesNo()}']"); browser.ClickElementWithCss("#nextPageButton"); pausEvent.WaitOne(Timeout.Infinite); if (personDetails.IsSmoker) { browser.ClickElementWithCss($"[for='Sections_0_Questions_Tob0_Answers_{personDetails.SmokerDetails.IsNicotineOnly.ToYesNo()}']"); browser.ClickElementWithCss("#nextPageButton"); pausEvent.WaitOne(Timeout.Infinite); if (!personDetails.SmokerDetails.IsNicotineOnly) { browser.EnterTextIntoElement("#Sections_0__Questions_1__Answer", personDetails.SmokerDetails.NumberOfCigarettesADay.ToString()); browser.EnterTextIntoElement("#Sections_0__Questions_2__Answer", personDetails.SmokerDetails.NumberOfCigarsADay.ToString()); browser.EnterTextIntoElement("#Sections_0__Questions_3__Answer", personDetails.SmokerDetails.NumberOfPanatelasADay.ToString()); browser.EnterTextIntoElement("#Sections_0__Questions_4__Answer", personDetails.SmokerDetails.NumberOfGramsOfPipeTobacco.ToString()); browser.EnterTextIntoElement("#Sections_0__Questions_5__Answer", personDetails.SmokerDetails.NumberOfGramsOfChewingTobacco.ToString()); browser.ClickElementWithCss("#nextPageButton"); pausEvent.WaitOne(Timeout.Infinite); } } if (personDetails.HasUsedRecreationalInLast5Years) { personDetails.Drugs.ForEach(drug => { browser.ClickElementWithCss("#questionCodeDMR2 .selectize-control"); browser.WaitForJQueryProcessing(TimeSpan.FromSeconds(5000)); browser.FindElements(".selectize-dropdown-content div").Single(x => x.Text.Contains(drug)).Click(); }); browser.ClickElementWithCss(".sessioncamhidetext"); if (personDetails.Drugs.Any()) { browser.ClickElementWithCss("#nextPageButton"); pausEvent.WaitOne(Timeout.Infinite); } if (personDetails.Drugs.Contains("Cannabis")) { browser.EnterTextIntoElement("#Sections_1__Questions_0__Answer", personDetails.DaysSinceCannabisIntake.ToString()); } if (personDetails.Drugs.Contains("Ecstasy, Speed, Cocaine, LSD") || personDetails.Drugs.Contains("Sedatives, Stimulants, Tranquilizers") || personDetails.Drugs.Contains("Anabolic Steroids")) { browser.ClickElementWithCss($"#Sections_2_Questions_DM2_Answers_{personDetails.HasRequiredProfessionalCareForDrugs.ToYesNo()}"); } if (personDetails.Drugs.Contains("Heroin, Methadone, Morphine")) { browser.SelectValueFromDropdown("#Sections_3_Questions_DM5_Answers_Select", personDetails.WasItLessThan5YearsSinceHeroin ? "less" : "5"); } browser.ClickElementWithCss("#nextPageButton"); pausEvent.WaitOne(Timeout.Infinite); } if (personDetails.IsRegularDrinker) { browser.EnterTextIntoElement("#Sections_1__Questions_0__Answer", personDetails.PintsOfBeer.ToString()); browser.EnterTextIntoElement("#Sections_1__Questions_1__Answer", personDetails.GlassesOfWine.ToString()); browser.EnterTextIntoElement("#Sections_1__Questions_2__Answer", personDetails.NumberOfShots.ToString()); browser.ClickElementWithCss("#nextPageButton"); pausEvent.WaitOne(Timeout.Infinite); } }
public static IWebElement FindLabelFor(this IBrowser browser, IWebElement x) { return(browser.FindElements(WebDriverSelectors.LabelFor(x)).SingleOrDefault()); }
public IEnumerable <IWebElement> FindElements(string cssSelector) { return(_browser.FindElements(cssSelector)); }
public bool IsElementPresent(string locator) { // TODO: maybe wait some time when element is appeared return(_browser.FindElements(By.XPath(locator)).Count > 0); }
public void Run(IBrowser browser, ManualResetEvent manualResetEvent, PersonDetails personDetails) { browser.ClickElementWithCss($"[for='Sections_0_Questions_INC4_1_Answers_{personDetails.HasCancer.ToYesNo()}']"); browser.ClickElementWithCss($"[for='Sections_0_Questions_INC4_2_Answers_{personDetails.HasMultipleSclerosis.ToYesNo()}']"); browser.ClickElementWithCss($"[for='Sections_0_Questions_INC4_3_Answers_{personDetails.HasMentalIllness.ToYesNo()}']"); browser.ClickElementWithCss("#nextPageButton"); manualResetEvent.WaitOne(Timeout.Infinite); if (!personDetails.HasCancer && !personDetails.HasMultipleSclerosis) { return; } if (personDetails.HasCancer) { personDetails.CancerTypes.ForEach(condition => { browser.ClickElementWithCss("#questionCodeCLHD_2 .selectize-control"); browser.WaitForJQueryProcessing(TimeSpan.FromSeconds(5000)); browser.FindElements(".selectize-dropdown-content div").Single(x => x.Text.Contains(condition)).Click(); }); } if (personDetails.HasMultipleSclerosis) { personDetails.MultipleSclerosisConditions.ForEach(condition => { browser.ClickElementWithCss("#questionCodeMSONP_2 .selectize-control"); browser.WaitForJQueryProcessing(TimeSpan.FromSeconds(5000)); browser.FindElements(".selectize-dropdown-content div").Single(x => x.Text.Contains(condition)).Click(); }); } browser.ClickElementWithCss("#nextPageButton"); manualResetEvent.WaitOne(Timeout.Infinite); if (personDetails.HasCancer) { browser.ClickElementWithCss($"[for='Sections_0_Questions_TUMOUR1_Answers_{personDetails.WaitingForCancerTreatment.ToYesNo()}']"); browser.ClickElementWithCss("#nextPageButton"); manualResetEvent.WaitOne(Timeout.Infinite); if (!personDetails.WaitingForCancerTreatment) { browser.ClickElementWithCss($"[for='Sections_0_Questions_TUMOUR2_Answers_{personDetails.MalignantTumorOrGrowth.ToYesNo()}']"); browser.ClickElementWithCss("#nextPageButton"); manualResetEvent.WaitOne(Timeout.Infinite); if (!personDetails.MalignantTumorOrGrowth) { browser.SelectValueFromDropdown("#Sections_0_Questions_TUMOUR3_Answers_Select", personDetails.DurationSinceGrowthDiagnosis); browser.ClickElementWithCss("#nextPageButton"); manualResetEvent.WaitOne(Timeout.Infinite); if (personDetails.DurationSinceGrowthDiagnosis == "5") { browser.ClickElementWithCss($"[for='Sections_0_Questions_TUMOUR4_Answers_{personDetails.CurrentlyOnTreatmentForTheTumour.ToYesNo()}']"); browser.ClickElementWithCss("#nextPageButton"); manualResetEvent.WaitOne(Timeout.Infinite); if (!personDetails.CurrentlyOnTreatmentForTheTumour) { browser.SelectValueFromDropdown("#Sections_0_Questions_TUMOUR5_Answers_Select", personDetails.DurationSinceTumorTreatment); browser.ClickElementWithCss("#nextPageButton"); manualResetEvent.WaitOne(Timeout.Infinite); } } } } } }