Exemplo n.º 1
0
 protected void SelectFromTimePicker(InputTag timepicker, string value)
 {
     WaitForLoad();
     timepicker.Click();
     WaitForLoad();
     Keyboard.Press(Keys.Down);
     WaitForLoad();
     Find <LiTag>(string.Format("/div[@Id~'timepicker' and @visible='true']//li[@InnerText='{0}']", value)).Click();
     WaitForLoad();
 }
Exemplo n.º 2
0
 protected void SelectFromCombo(InputTag combo, string value, Boolean onlyVisible = true)
 {
     WaitForLoad();
     combo.Click();
     WaitForLoad();
     Keyboard.Press(Keys.Down);
     WaitForLoad();
     //Find<LiTag>(string.Format("/div[@Id~'boundlist' and @visible='true']//li[@InnerText='{0}']", value)).Click();
     Find <LiTag>(string.Format("/div[@Id~'boundlist' {1}]//li[@InnerText='{0}']", value, onlyVisible ? "and @visible='true'" : "")).Click();
     WaitForLoad();
 }
Exemplo n.º 3
0
        /// <summary>
        /// Funkcja aktywuje kontrolkę datepicker'a, a następnie wybiera wskazaną datę
        /// </summary>
        /// <param name="id">identyfikator pola typu input kontrolki kalendarza</param>
        /// <param name="date">data którą chcemy wybrać</param>
        protected void WybierzZDatePicera(InputTag inputTag, string date, int firstYear = 2011, int lastYear = 2020)
        {
            DebugLog("Wybieram date : " + date);

            // Sprawdz jakiego rodzaju kontrolka kalenarza
            // Jeśli pole Input (id) nie aktywuje kontrolki kalendarza
            // trzeba ją znaleźć
            if (!inputTag.Class.Contains("x-trigger-noedit"))
            {
                var trTag  = inputTag.Parent.Parent;
                var divTag = trTag.FindSingle <DivTag>(".//td[2]/div");
                divTag.Click();
            }
            else
            {
                inputTag.Click();
            }

            string[] months    = { "Sty", "Lut", "Mar", "Kwi", "Maj", "Cze", "Lip", "Sie", "Wrz", "Paź", "Lis", "Gru" };
            string[] parseDate = date.Split('.');

            // Odszukaj id kontrolki datepicker-*
            var idDatePicker = Find <DivTag>("body/div[@id~'datepicker-' and @Visible='True']").Id;

            // kliknij w selektor miesiąca
            Find <SpanTag>(string.Format("/div[#'{0}']//span[@id~'splitbutton-*' and Visible='True']", idDatePicker)).Click();

            System.Threading.Thread.Sleep(1000); // K.O - żeby się nie pogubił

            // wybierz rok
            // Uwaga, na liście lat kontrolki domyślnie są lata 2011-2020
            ShiftListYears(idDatePicker, parseDate[2], firstYear, lastYear);
            Find <ATag>(string.Format("/div[#'{0}']//div[@Id~'yearEl' and Visible='True']//a[@innertext='{1}']", idDatePicker, parseDate[2])).Click();

            // wybierz miesiąc
            Find <ATag>(string.Format("/div[#'{0}']//a[@innertext='{1}']", idDatePicker, months[int.Parse(parseDate[1]) - 1])).Click();

            // kliknij guzik OK
            Find <SpanTag>(string.Format("/div[#'{0}']//span[@InnerText ~'OK']", idDatePicker)).Click();

            System.Threading.Thread.Sleep(2000); // K.O - żeby się nie pogubił

            // wybierz dzien
            Find <ATag>(string.Format("/div[#'{0}']//table[Id~'datepicker']//td[@class~'-active' and Visible='True']/a[@innertext='{1}']", idDatePicker, int.Parse(parseDate[0]).ToString())).Click();

            WaitForLoad();
        }
Exemplo n.º 4
0
        /// <summary>
        /// Funkcja aktywuje kontrolkę vtimepicker'a, a następnie wybiera wskazaną datę
        /// Uwaga! brak wartości parametru czas, spowoduje wybór guzika "TERAZ"
        /// </summary>
        /// <param name="id">identyfikator pola typu input kontrolki zegara</param>
        /// <param name="czas">data którą chcemy wybrać w formacie [hh:mm]</param>
        protected void WybierzZVtimepicker(InputTag inputTag, string czas = "")
        {
            DebugLog(string.Format("Wybieram wskazany czas [hh:mm] : {0}", (czas == string.Empty ? "TERAZ" : czas)));

            var minuty  = "";
            var godziny = "";

            if (!string.IsNullOrEmpty(czas))
            {
                int min           = 0;
                int godz          = 0;
                var godzinyMinuty = czas.Split(':');
                if (int.TryParse(godzinyMinuty[0], out godz) == false || godz > 24)
                {
                    DebugLog(string.Format("Podano niepoprawną wartość dla godzin: <{0}>", godzinyMinuty[0]));
                    return;
                }

                if (int.TryParse(godzinyMinuty[1], out min) == false || min > 59)
                {
                    DebugLog(string.Format("Podano niepoprawną wartość dla minut: <{0}>", godzinyMinuty[1]));
                    return;
                }

                // Minuty modulo 5!
                minuty  = (min > 5 ? min - (min % 5) : (min % 5)).ToString().PadLeft(2, '0');
                godziny = godz.ToString().PadLeft(2, '0');
            }

            // Sprawdz jakiego rodzaju kontrolka kalenarza
            // Jeśli pole Input (id) nie aktywuje kontrolki kalendarza
            // trzeba ją znaleźć
            if (!inputTag.Class.Contains("x-trigger-noedit"))
            {
                var trTag  = inputTag.Parent.Parent;
                var divTag = trTag.FindSingle <DivTag>(".//td[2]/div");
                divTag.Click();
            }
            else
            {
                inputTag.Click();
            }

            // Odszukaj id kontrolki vtimepicker-*
            var idTimePicker = Find <DivTag>("body/div[@id~'vtimepicker-' and @Visible='True']").Id;

            System.Threading.Thread.Sleep(1000); // K.O - żeby się nie pogubił

            if (!string.IsNullOrEmpty(czas))
            {
                // wybierz godzinę
                Find <ATag>(string.Format("/div[#'{0}']//td[@class~'hours']/a[@innertext='{1}']", idTimePicker, godziny)).Click();

                // wybierz minutę - kończy działanie kontrolki
                Find <ATag>(string.Format("/div[#'{0}']//td[@class~'minutes']/a[@innertext='{1}']", idTimePicker, minuty)).Click();

                // kliknij guzik OK
                //Find<SpanTag>(string.Format("/div[#'{0}']//span[@InnerText ~'OK']", idTimePicker)).Click();
            }
            else
            {
                // kliknij guzik TERAZ
                Find <SpanTag>(string.Format("/div[#'{0}']//span[@InnerText ~'TERAZ']", idTimePicker)).Click();
            }

            System.Threading.Thread.Sleep(2000); // K.O - żeby się nie pogubił

            WaitForLoad();
        }