Beispiel #1
0
        public string GoToNumberProfile(string number)
        {
            string     numberStr = "(" + number[0] + number[1] + number[2] + ") " + number[3] + number[4] + number[5] + "-" + number[6] + number[7] + "-" + number[8] + number[9];
            WebElement NumberWE  = AbonentsNumberWE.ByXPath("//a[text()='" + numberStr + "']");//WebElement NumberWE = AbonentsNumberWE.ByXPath("//a[contains(@href,'/b/info/subscriberDetail.xhtml?objId')][" + number + "]");

            if (NumberWE.Displayed)
            {
                NumberWE.Click();
            }
            else
            {
                return("Не отображены элементы интерфейса: номер абонента");
            }
            numberProfilePage = new NumberProfilePage();

            return(numberProfilePage.ConstructionPage());
        }
Beispiel #2
0
        public string GoToContract()
        {
            WebElement table = new WebElement().ByXPath("//div[@class='mobile-contracts-list']");

            table.ByXPath("//tr/td[1]/a").Click();
            contractPage = new ContractPage();
            return(contractPage.ConstructionPage());
        }
Beispiel #3
0
        public string ComparisonDet(string phoneNumber, string start, string end, WebElement ui)
        {
            XmlDocument xm = GetDetails(phoneNumber, start, end);

            try
            {
                int i = 1;
                int j = 0;
                while (true)
                {
                    int     m  = 1;
                    XmlNode xr = xm.GetElementsByTagName("record")[j].Clone().LastChild;
                    m = xr.ChildNodes.Count;
                    while (m != 0)
                    {
                        string d = ui.ByXPath("//div[@id='finInfoIndexPage:callDetailsPanel']//tbody[contains(@id,'finInfoIndexPage')]//tr[" + i + "]//td[1]").Text;
                        string x = ((XmlNode)(xm.GetElementsByTagName("record")[j])).ChildNodes[0].InnerText;// eCareDateTime.GetElementsByTagName
                        try
                        {
                            var qe = ((XmlNode)(xm.GetElementsByTagName("record")[j])).ChildNodes[3];//eCareOperator
                            if (qe.Name == "eCareOperator")
                            {
                                if (qe.InnerText != "")
                                {
                                    x = x + " " + qe.InnerText;
                                    try
                                    {
                                        while (x.IndexOf("  ") != -1)
                                        {
                                            x = x.Remove(x.IndexOf("  "), 1);
                                        }
                                    }
                                    catch (Exception)
                                    {
                                    }
                                }
                            }
                        }
                        catch (Exception)
                        {
                        }
                        //eCareOperator
                        if (d != x)
                        {
                            return("Детализация не совпадает");
                        }

                        m = m - 1;
                    }
                    i = i + 1;
                    j = j + 1;
                }
            }
            catch (Exception)
            {
                return("success");
            }
        }
Beispiel #4
0
        private string CheckContractList()
        {
            WebElement table = new WebElement().ByXPath("//div[@class='mobile-contracts-list']");

            if (!table.Displayed)
            {
                return("Не отображены элементы интерфейса: таблица договоров");
            }
            if (!table.ByXPath("//span[text()='Номер договора']").Displayed)
            {
                return("Не отображены элементы интерфейса: столбец Номер договора");
            }
            if (!table.ByXPath("//span[text()='Название договора']").Displayed)
            {
                return("Не отображены элементы интерфейса: столбец Название договора");
            }
            if (!table.ByXPath("//span[text()='Количество абонентов']").Displayed)
            {
                return("Не отображены элементы интерфейса: столбец Количество абонентов");
            }
            if (!table.ByXPath("//span[text()='Юридический адрес']").Displayed)
            {
                return("Не отображены элементы интерфейса: столбец Юридический адрес");
            }
            if (!table.ByXPath("//span[text()='Регион']").Displayed)
            {
                return("Не отображены элементы интерфейса: столбец Регион");
            }
            if (!table.ByXPath("//span[text()='Баланс корпоративной предоплаты, руб']").Displayed)
            {
                return("Не отображены элементы интерфейса: столбец Баланс корпоративной предоплаты, руб");
            }
            balance = table.ByXPath("//tr/td[6]/span").Text;//*[@id="j_idt324:j_idt326:j_idt327_data"]/tr/td[6]/span
            return("success");
        }
Beispiel #5
0
        public string SetMaxSumDistribution()
        {
            try
            {
                string sum = "15000";
                EvenlySumInputWE = new WebElement().ByXPath("//input[contains(@id,'distributionBalance') and contains(@id,'umInput')]");
                if (!EvenlySumInputWE.Displayed)
                {
                    return("Не отображены элементы интерфейса: Поле ввода суммы распределения");
                }
                EvenlySumInputWE.SendKeys(sum);
                SendKeys.SendWait("{TAB}");
                FinishSumPanelWE = new WebElement().ByXPath("//div[contains(@id,'finishSumPanel')]");
                if (!FinishSumPanelWE.Displayed)
                {
                    return("Не отображены элементы интерфейса: Итоговая сумма");
                }
                if (Convert.ToDouble(sum) - Convert.ToDouble(FinishSumPanelWE.ByXPath("//div[@class='sum']").Text.Replace(" руб.", "").Replace(" ", "")) > 1)
                {
                    return("Итоговая сумма некорректна");
                }
                int        i  = 0;
                WebElement tb = new WebElement().ByXPath("//tbody[@id='distributionBalance:abonents_data']//tr[@data-ri='0']");
                while (tb.Displayed)
                {
                    i++;
                    tb = new WebElement().ByXPath("//tbody[@id='distributionBalance:abonents_data']//tr[@data-ri='" + i + "']");
                }
                double cost = Convert.ToDouble(sum.Replace(" ", "")) / i;
                i  = 0;
                tb = new WebElement().ByXPath("//table[@id='distributionBalance:abonents_data']//tr[@data-ri='0']");
                while (tb.Displayed)
                {
                    string s = tb.ByXPath("//td[@class='ui-editable-column']").Text.Replace(" руб.", "").Replace(" ", "");
                    if (cost - Convert.ToDouble(s) > 1)
                    {
                        return("Распределение по абонентам некорректно");
                    }
                    i++;
                    tb = new WebElement().ByXPath("//table[@id='distributionBalance:abonents_data']//tr[@data-ri='" + i + "']");
                }

                if (!new WebElement().ByXPath("//*[contains(text(),'Недостаточно средств для распределения каждому абоненту введённой суммы.')]").Displayed)
                {
                    return("Валидация на превышение баланса некорректна");
                }
                return("success");
            }
            catch (Exception e)
            {
                return(e.Message);
            }
        }
Beispiel #6
0
        public string CheckSubscription()
        {
            WebElement subs = new WebElement().ByXPath("//a[text()='Мои информационно-развлекательные услуги']");

            if (!subs.Displayed)
            {
                return("Отсутствует ссылка Подписки");
            }
            subs.Click();
            WebElement subsList;

            for (int i = 0; i < 10; i++)
            {
                Thread.Sleep(10000);
                subsList = new WebElement().ByXPath("//div[contains(@class,'subscriptions-list')]");
                if (subsList.Displayed)
                {
                    break;
                }
            }
            subsList = new WebElement().ByXPath("//div[contains(@class,'subscriptions-list')]");
            if (!subsList.Displayed)
            {
                return("Не отображается список подписок");
            }
            int        j   = 1;
            WebElement sub = new WebElement().ByXPath("//div[contains(@class,'subscriptions-list')]/div[" + j + "]");

            while (sub.Displayed)
            {
                if (sub.ByXPath("//div[@class='info']/div[1]/h2").Text == "")
                {
                    return("Не отображается наименование подписки");
                }
                if (sub.ByXPath("//div[@class='info']//span[contains(@class,'price')]").Text == "")
                {
                    return("Не отображается стоимость подписки");
                }
                if (!sub.ByXPath("//div[@class='info']//div[contains(@class,'ui-outputpanel ui-widget not-free')]").Text.Contains("в"))
                {
                    return("Не отображается период списания");
                }
                if (!sub.ByXPath("//a[@class='full-descr-title dynamic']").Displayed)
                {
                    return("Не отображается ссылка на подробное описание");
                }
                if (sub.ByXPath("//div[contains(@class,'CDP')]").Displayed)
                {
                    if (!sub.ByXPath("//img[@class='from-beeline']").Displayed)
                    {
                        return("Не отображается картинка Подписка от Билайн");
                    }
                }
                j++;
                sub = new WebElement().ByXPath("//div[contains(@class,'subscriptions-list')]/div[" + j + "]");
            }
            return("success");
        }
Beispiel #7
0
        public string CheckCDPUnconnect()
        {
            WebElement sub = new WebElement().ByXPath("//div[contains(@class,'subscriptions-list')]//div[contains(@class,'CDP')][1]");

            if (!sub.Displayed)
            {
                return("Отсутсвуют CDP подписки");
            }
            sub.ByXPath("//div[@class='switch']/button").Click();
            Thread.Sleep(10000);
            //new WebElement().ByXPath("//div[@class='ui-outputpanel ui-widget service-item subscription-item']//div[@class='buttons']/button").Click();
            //Thread.Sleep(10000);
            //string message = new WebElement().ByXPath(
            //    "//div[@class='ui-outputpanel ui-widget editorResults dashed-block message-single']//div[@class='fmr']").Text;
            //number = message.Remove(0, 8);
            //number = number.Remove(10, number.Length - 10);

            return("success");
        }
        public string CheckPayment(string phoneNumber, string host, string port, string sid, string user, string password, string startDay, string startMount, string startYear, string endDay, string endMount,
                                   String endYear)
        {
            var t = @"SELECT pv.PAYMENTDATE,
                         pv.PAYMENTID,
                         pv.AMOUNT,
                         pv.PAYMENTTYPEID,
                         pv.PAYMENTSTATUSID,
                         pa.trademark 
                         FROM BEEPAY_AUDIT.PAYMENTSVIEW pv, BEEPAY_DICTS.PARTNERS pa 
                         WHERE pv.partnerid = pa.id 
                         and B_CTN = '" + phoneNumber + @"'
                         and pv.PAYMENTDATE between to_date('" + startDay + @"-" + DateTime.ParseExact(startMount, "MMMM", CultureInfo.CreateSpecificCulture("ru-ru")).Month + @"-" + startYear
                    + @"', 'dd-mm-yyyy')  and to_date('" + endDay + @"-" + DateTime.ParseExact(endMount, "MMMM", CultureInfo.CreateSpecificCulture("ru-ru")).Month + @"-" + endYear + @"', 'dd-mm-yyyy')
                         order by pv.PAYMENTDATE DESC";
            var tm = Executor.ExecuteSelect(t, host, port, sid, user, password);
            int i  = 0;

            while (i < tm.Count)
            {
                try
                {
                    WebElement table = new WebElement().ByXPath("//div[contains(@id,'paymentsForm:paymentsTable_data')]");
                    string     cost  = table.ByXPath("//tr[@data-ri='" + i + "']//td[@class='bonus-td']").Text;
                    if (Convert.ToDouble(tm[i, 2]) != Convert.ToDouble(cost))
                    {
                        return("Платежи отображены некорректно");
                    }
                    i++;
                }
                catch (Exception)
                {
                    return("Платежи отображены некорректно");
                }
            }
            if (new WebElement().ByXPath("//div[contains(@id,'paymentsForm:paymentsTable_data')]//tr[@data-ri='" + i + "']//td[@class='bonus-td']").Displayed)
            {
                return("Платежи отображены некорректно");
            }

            return("success");
        }
        public string ClickExportPayments(string temp)
        {
            ExportPaymentsWE = PaymentWE.ByXPath("//span[contains(text(),'Выгрузить в Excel')]");
            if (!ExportPaymentsWE.Displayed)
            {
                return("Не отображены элементы интерфейса: ссылка Выгрузить платежи");
            }
            ExportPaymentsWE.Click();
            DateTime d = DateTime.Now;

            Thread.Sleep(2000);
            SendKeys.SendWait("{ENTER}");
            Thread.Sleep(5000);

            string path = temp;

            string[] files = Directory.GetFiles(path, "schet_*");
            if (files.Length == 0)
            {
                return("Файл не скачен");
            }

            System.Diagnostics.Process[] local_procs = System.Diagnostics.Process.GetProcesses();
            int count = local_procs.Count(p => p.ProcessName == "EXCEL");

            try
            {
                for (int i = 0; i < count; i++)
                {
                    System.Diagnostics.Process target_proc = (local_procs.Where(p => p.ProcessName == "EXCEL").ToList())[i];
                    target_proc.Kill();
                }
            }
            catch (InvalidOperationException)
            {
            }
            return("success");
        }
Beispiel #10
0
 public string SetSumDistribution(List <string> sums)
 {
     try
     {
         double d = 0;
         int    i = 1;
         foreach (string sum in sums)
         {
             new WebElement().ByXPath("//div[contains(@class,'ui-cell-editor-output')][" + i + "]").Click();
             new WebElement().ByXPath("//div[contains(@class,'ui-cell-editor-input')][" + i + "]//input").SendKeys(sum);
             i = i + 1;
             d = d + Convert.ToDouble(sum);
         }
         if (d - Convert.ToDouble(FinishSumPanelWE.ByXPath("//div[@class='sum']").Text.Replace(" руб.", "").Replace(" ", "")) > 1)
         {
             return("Итоговая сумма некорректна");
         }
         return("success");
     }
     catch (Exception e)
     {
         return(e.Message);
     }
 }