protected Boolean SprawdzCzyDrzewkoZawiera(string value, bool equal = true, string myPath = "", bool visible = true) { var elements = OpenWebsite.Find <SpanTag>(string.Format(".//div[#'main-tree-panel']{0}//span{1}", myPath, visible ? "[@visible='True']" : String.Empty)); return((equal ? from el in elements where el.InnerText.Equals(value) select el : from el in elements where el.InnerText.Contains(value) select el).Any()); }
public List <String> PobierzTooltipaWarningOTekscie(String trescToolTipa) { DebugLog("Sprawdzenie czy istnieje tooltip o tekście " + trescToolTipa); IList <LiTag> tooltipy = OpenWebsite.Find <LiTag>(String.Format(".//div[@id~'tooltip-*']//td//li[@innertext='{0}']", trescToolTipa)); String tekstTooltipa = (tooltipy.Count == 0) ? "" : tooltipy[0].InnerText; return(GetTooltipFromHtml(tekstTooltipa)); }
/// <summary> /// Metoda wpisuje do wskazanej kontrolki podana wartość /// </summary> /// <param name="nazwaPola">nazwa pola - label definiujący kontrolkę</param> /// <param name="wartosc">wartośc która zostanie wpisana/wybrana</param> /// <param name="klawiatura">jeśli =true w pole Innertext zostanie wprowadzona podana wartość bez względu na typ</param> /// <param name="kierunek">parametr własciwy tylko dla kontrolki typu SPINBUTTON, /// kierunek="gora" oznacza kliknięcie w górną/dolna część kontrolki /// natomiast parametr "wartość" oznacza liczbe kliknięć</param> /// <param name="wybierz2razy">wymusza 2 razy wybranie z comba potrzebne w testach CS w strasznie dynamicznie ładowanych comboxach </param> public void WprowadzWartoscDoPola(string nazwaPola, string wartosc, bool klawiatura = false, string kierunek = "gora", bool wybierz2razy = false) { var field = _fields.ToList().Find(s => s.Label == nazwaPola); var realType = field.Type; if (klawiatura) { realType = FiledTypes.TEXTBOX; } switch (realType) { case FiledTypes.COMBOBOX: { var tdValueTag = GetTdForValue(nazwaPola); var combo = tdValueTag.FindDescendants <InputTag>(); if (combo.Count != 1) { throw new Exception("To nie jest comboBox"); } SelectFromCombo(combo[0], wartosc); if (wybierz2razy) { SelectFromCombo(combo[0], wartosc); // DDRZ to jest po jest prblem w CS } break; } case FiledTypes.TEXTBOX: { var tdValueTag = GetTdForValue(nazwaPola); var texBox = tdValueTag.FindDescendants <InputTag>(); if (texBox.Count != 1) { throw new Exception("To nie jest textBox"); } texBox[0].Click(); texBox[0].InnerText = wartosc; break; } case FiledTypes.TEXTAREA: { var tdValueTag = GetTdForValue(nazwaPola); var texBox = tdValueTag.FindDescendants <TextAreaTag>(); if (texBox.Count != 1) { throw new Exception("To nie jest textArea"); } texBox[0].Click(); texBox[0].InnerText = wartosc; break; } case FiledTypes.SPINBUTTON: // K.O { // wartość oznacza liczbę kliknięć kontrolki // kierunek oznacza kliknięcie górnej/golnej połówki WybierzStrzalkaZeSpinButtona(nazwaPola, int.Parse(wartosc), kierunek); break; } case FiledTypes.RADIOBOX: { WebElement label; if (nazwaPola != "") { var tdValueTag = GetTdForValue(nazwaPola); label = tdValueTag.FindSingle <LabelTag>(string.Format(".//label[@InnerText = '{0}']", wartosc)); } else { label = _window.FindSingle <LabelTag>(string.Format(".//label[@InnerText = '{0}']", wartosc)); } label = label.Parent; var radioBox = label.FindDescendants <InputTag>(); if (radioBox.Count != 1) { throw new Exception("To nie jest radiobox"); } radioBox[0].Click(); break; } case FiledTypes.COLORPICKER: { // kolory: niebieski=0, czerwony=1, zielony=2, czarny=3, fioletowy=4 Find <InputTag>(".//input[id~'colorpicker']").Click(); var x = OpenWebsite.Find <ATag>(".//div[id~'colorpicker']//a").ToList(); x[Int32.Parse(wartosc)].Click(); break; } case FiledTypes.CHECKBOX: { var label = _window.FindSingle <LabelTag>(string.Format(".//label[@InnerText = '{0}']", nazwaPola)); var ziemniak = label.Parent; var checkbox = ziemniak.FindDescendants <InputTag>(); if (checkbox.Count != 1) { throw new Exception("To nie jest checkBox"); } checkbox[0].Click(); break; } case FiledTypes.DATEPICKER: // K.O { var tdValueTag = GetTdForValue(nazwaPola); var combo = tdValueTag.FindDescendants <InputTag>(); if (combo.Count != 1) { throw new Exception("To nie jest comboBox"); } WybierzZDatePicera(combo[0].Id, wartosc); break; } case FiledTypes.TIMEPICKER: { var tdValueTag = GetTdForValue(nazwaPola); var combo = tdValueTag.FindDescendants <InputTag>(); //SelectFromTimePicker(combo[0],wartosc); WybierzZVtimepicker(combo[0], wartosc); // k.o - nowa kontrolka do wyboru czasu break; } } }
protected IList <T> FindAll <T>(string xPath, int miliseconds = 20000) where T : Adapter { string correctPath = "./" + xPath; return(OpenWebsite.Find <T>(correctPath, new Duration(miliseconds))); }