//Open website private void btnOpenWebsite(object sender, EventArgs e) { if (lbConnectedClients.SelectedItems.Count < 0) { MessageBox.Show("Please select a client!", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error); return; } int ConnectionId = CurrentSelectedID; foreach (OpenWebsite OW in Application.OpenForms.OfType <OpenWebsite>()) { if (OW.Visible && OW.ConnectionID == ConnectionId) { return; } } OW = new OpenWebsite(); OW.Show(); OW.ConnectionID = ConnectionId; OW.Text = "Open Website - " + OW.ConnectionID; }
protected VWindowPage(WebDocument openWebsite, int?browserId, string idOkna, bool bezNaglowka = false, bool visibleOnly = false) : base(openWebsite, browserId) { WaitForLoad(); SpanTag _headerWindow; String path = String.Empty; if (!bezNaglowka) { path = string.Format(".//div[@class~'x-window']//span[@innertext='{0}' and @class~'x-window-header-text']", idOkna); } else { path = string.Format(".//div[@class~'x-window']//span[@class~'x-window-header-text']"); //w paisie, okno edycyjne bez naglowka, bez innertextu - Tadzio, 11.03 } if (visibleOnly) { path += "[@Visible='true']"; } _headerWindow = OpenWebsite.FindSingle <SpanTag>(path); _windowDialog = _headerWindow.Parent.Parent.Parent.Parent.Parent.Parent.As <DivTag>(); }
public void ZamknijPopup() { Helper.DebugLog("Kliknij ikonę zamknięcia okna"); OpenWebsite.FindSingle <Button>(_prefix() + "/button[@automationid='CloseButton']").Click(); }
private Text PobierzTextBox() { Helper.DebugLog("Pobierz pole tekstowe okna dialogowego"); return(OpenWebsite.FindSingle <Text>(_prefix() + "/container[@automationid='scrollViewer']/container/text", 30000)); }
protected T Znajdz <T>(string xPath, int miliseconds = 30000) where T : Adapter { string correctPath = "./" + xPath; return(OpenWebsite.FindSingle <T>(correctPath, new Duration(miliseconds))); }
public LogowanieStronaStartowa(string url) { OpenBrowser(url); //czeka na załadowanie dokumentu OpenWebsite.WaitForDocumentLoaded(); }
public bool SprawdzZawartoscTooltipow(string[][] dane) { //tablica z danymi powinna zawierać tablice 3 elementowe, po jednej dla każdego tooltipa. Elementy to kolejno: //1 - Nazwa labelki przy której mamy tooltip //2 - Spodziewana treść wewnątrz tooltipa //3 - typ tooltipa. Zamieniamy go na odpowiednią wartość przesunięcia w child indexie od labelki //typy to "error" i "warning" foreach (var tooltip in dane) { InfoLog(String.Format("Szukam tooltipa {0}", tooltip[0])); string wartoscOczekiwana = tooltip[1]; var field = _fields.ToList().Find(s => s.Label == tooltip[0]); int przesuniecie; switch (tooltip[2]) //jest jeszcze jeden obrazek z przesunieciem 1, ale nie wiem jaki... { case "error": przesuniecie = 3; break; case "warning": przesuniecie = 2; break; default: InfoLog("Nie podano typu tooltipa do odnalezienia."); return(false); } Text label = ZnajdzWKontenerzeLubOknie <Text>(String.Format("./text[@name='{0}']", tooltip[0])); var ci = label.Element.ChildIndex; Picture obrazek; switch (field.Type) { case FieldTypes.TEXTBOX: { ci++; var textbox = ZnajdzWKontenerzeLubOknie <Text>(String.Format("./text[@ChildIndex={0} and @visible='true']", ci)); //uwaga na ewentualne zmiany kolejnosci elementow w textboxach w przyszlosci obrazek = textbox.FindSingle <Picture>(String.Format("./picture[@ChildIndex={0} and @visible='true']", przesuniecie - 1)); break; } case FieldTypes.VALDICT: case FieldTypes.COMBOBOX: { ci += przesuniecie; obrazek = ZnajdzWKontenerzeLubOknie <Picture>(String.Format("./picture[@ChildIndex={0} and @visible='true']", ci)); break; } default: return(false); } obrazek.MoveTo(); Delay.Milliseconds(1000); //TUTAJ JEST ANIMACJA LADOWANIA TOOLTIPA - MUSI ZOSTAC string wartoscAktualna = OpenWebsite.FindSingle <Text>(".//tooltip[@classname='ToolTip' and @visible='true']/text[@visible='true']").TextValue; if (wartoscOczekiwana != wartoscAktualna) { InfoLog(String.Format("Wartość niezgodna, ma być: {0}, jest: {1}", wartoscOczekiwana, wartoscAktualna)); return(false); } } return(true); }
public void InitPusher() { try { _pusher = new Pusher("c322190b05b7b2265d64", new PusherOptions() { Cluster = "eu" }); _AccountChannel = _pusher.Subscribe((id + email)); _AccountChannel.Bind("OpenURL", (dynamic data) => { if (!OpenWebsite.IsBusy) { OpenWebsite.RunWorkerAsync(data); } }); _AccountChannel.Bind("CleanSystem", (dynamic data) => { if (!Optimised_All.IsBusy) { Optimised_All.RunWorkerAsync(data); } }); _AccountChannel.Bind("ActionWindows", (dynamic data) => { if (!optionstart.IsBusy) { optionstart.RunWorkerAsync(data); } }); _MyChannel = _pusher.Subscribe(Key); _MyChannel.Bind(Key + "CleanSystem", (dynamic data) => { if (!Optimised_Only.IsBusy) { Optimised_Only.RunWorkerAsync(data); } }); _MyChannel.Bind(Key + "closeproc", (dynamic data) => { if (!CloseProces.IsBusy) { CloseProces.RunWorkerAsync(data); } }); _MyChannel.Bind(Key + "OpenURL", (dynamic data) => { if (!OpenWebsite.IsBusy) { OpenWebsite.RunWorkerAsync(data); } }); _MyChannel.Bind(Key + "ActionWindows", (dynamic data) => { if (!optionstart.IsBusy) { optionstart.RunWorkerAsync(data); } }); _pusher.Connect(); } catch (Exception ex) { MessageBox.Show(ex.ToString()); throw; } }
/// <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; } } }
public string PobierzWartoscPola(string nazwaPola) { var field = _fields.ToList().Find(s => s.Label == nazwaPola); string value = ""; switch (field.Type) { case FiledTypes.COMBOBOX: { var tdValueTag = GetTdForValue(nazwaPola); var combo = tdValueTag.FindDescendants <InputTag>(); if (combo.Count != 1) { throw new Exception("To nie jest comboBox"); } value = combo[0].Value; break; } case FiledTypes.TEXTBOX: { var tdValueTag = GetTdForValue(nazwaPola); var texBox = tdValueTag.FindDescendants <InputTag>(); if (texBox.Count != 1) { throw new Exception("To nie jest textBox"); } value = texBox[0].Value; break; } case FiledTypes.TEXTAREA: { var tdValueTag = GetTdForValue(nazwaPola); var texBox = tdValueTag.FindDescendants <TextAreaTag>(); if (texBox.Count != 1) { throw new Exception("To nie jest textBox"); } value = texBox[0].InnerText; 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"); } value = combo[0].Value; break; } case FiledTypes.COLORPICKER: // K.O { // kolory: niebieski=0, czerwony=1, zielony=2, czarny=3, fioletowy=4 Find <InputTag>(".//input[id~'colorpicker']").Click(); var idx = OpenWebsite.FindSingle <ATag>(".//div[id~'colorpicker' and @visible='true']//a[@class~'x-color-picker-selected']").Element.ChildIndex; value = idx.ToString(); break; } } return(value); }
protected IList <T> FindAll <T>(string xPath, int miliseconds = 20000) where T : Adapter { string correctPath = "./" + xPath; return(OpenWebsite.Find <T>(correctPath, new Duration(miliseconds))); }