コード例 #1
0
        public void Get_reports_screen_shots(IWebDriver driver, Report_data report)
        {
            Func.check_if_folder_exists(folder_path);
            TextWriter tw = Func.check_if_log_file_exists(file_path);

            try
            {
                login(driver, report.login_user, report.login_pass);
                if (Func.check_login(driver, login_url))
                {
                    var wait = new WebDriverWait(driver, TimeSpan.FromMinutes(3));
                    wait.Until(payments_tab => payments_tab.FindElement(By.Id("paytab"))).FindElement(By.TagName("a")).Click();
                    wait.Until(report_show => report_show.FindElement(By.Id("money")));
                    Thread.Sleep(1500);
                    Func.take_screenshot(report.campaign_name, folder_path);
                    Func.clear_local_storage(driver);
                    tw.Close();
                }
                else
                {
                    Func.clear_local_storage(driver);
                    tw.WriteLine(report.campaign_name + " cannot login");
                    tw.Close();
                }
            }
            catch (Exception e)
            {
                Func.clear_local_storage(driver);
                tw.WriteLine(report.campaign_name + " Exception while screen shot try again");
                tw.Close();
            }
        }
コード例 #2
0
ファイル: Ad6media.cs プロジェクト: nikolayiliaev/First
 public void Get_reports_screen_shots(IWebDriver driver, Report_data report)
 {
     if (!File.Exists(folder_path + "\\" + report.campaign_name + ".png"))
     {
         Func.check_if_folder_exists(folder_path);
         TextWriter tw = Func.check_if_log_file_exists(file_path);
         try
         {
             var wait_login = new WebDriverWait(driver, TimeSpan.FromSeconds(20));
             driver.Navigate().GoToUrl(login_url);
             wait_login.Until(user_name => user_name.FindElement(By.Name("user_name"))).SendKeys(report.login_user);
             wait_login.Until(password => password.FindElement(By.Name("user_pass"))).SendKeys(report.login_pass);
             Thread.Sleep(1500);
             wait_login.Until(sign_in => sign_in.FindElement(By.Name("submit"))).Click();
             if (check_login_A6Media(driver, login_url))
             {
                 var wait = new WebDriverWait(driver, TimeSpan.FromMinutes(3));
                 driver.Navigate().GoToUrl("http://www.ad6media.co.uk/publishers/statistics");
                 //wait.Until(date_per_month => date_per_month.FindElement(By.Id("type_rapport"))).FindElement(By.XPath([@id="type_rapport"]/option[2]))
                 var selectElement = new SelectElement(driver.FindElement(By.Id("type_rapport")));
                 selectElement.SelectByText("Per month");
                 ChooseCorrectCampaignUI(driver, report);
                 Thread.Sleep(5000);
                 driver.Navigate().GoToUrl("http://www.ad6media.co.uk/deconnexion");
                 tw.Close();
             }
         }
         catch (Exception e)
         {
             Func.clear_local_storage(driver);
             tw.WriteLine(report.campaign_name + " Exception while screen shot try again");
             tw.Close();
         }
     }
 }
コード例 #3
0
ファイル: MarimediaEpom.cs プロジェクト: nikolayiliaev/First
        public void Get_reports_screen_shots(IWebDriver driver, Report_data report)
        {
            Func.check_if_folder_exists(folder_path);
            TextWriter tw = Func.check_if_log_file_exists(file_path);

            try
            {
                login(driver, "Webpic Support", "d09f8fc0");
                var wait = new WebDriverWait(driver, TimeSpan.FromMinutes(3));
                Thread.Sleep(5000);
                string url             = login_url + "/account/home.do#|analytics";
                IJavaScriptExecutor js = (IJavaScriptExecutor)driver;
                js.ExecuteScript("this.document.location = arguments[0]", url);
                wait.Until(element => element.FindElement(By.Id("analytics-range-inputEl"))).SendKeys(Keys.ArrowDown + Keys.ArrowDown + Keys.ArrowDown + Keys.ArrowDown +
                                                                                                      Keys.ArrowDown + Keys.ArrowDown + Keys.ArrowDown + Keys.Enter);
                wait.Until(element => element.FindElement(By.Id("analytics-groupBy-inputEl"))).SendKeys(Keys.ArrowDown + Keys.ArrowDown + Keys.ArrowDown + Keys.Enter);
                Thread.Sleep(2000);
                wait.Until(element => element.FindElement(By.LinkText("Run Report"))).Click();
                Thread.Sleep(5000);
                wait.Until(element => element.FindElement(By.XPath("//*[contains(text(), 'Query details')]"))).Click();
                Thread.Sleep(2000);
                Func.take_screenshot(report.campaign_name, folder_path);
                Func.clear_local_storage(driver);
                js.ExecuteScript("document.getElementById('logout-form').submit();");
                tw.Close();
            }

            catch (Exception e)
            {
                tw.WriteLine(report.campaign_name + " Exception while screen shot try again");
                Func.clear_local_storage(driver);
                tw.Close();
            }
        }
コード例 #4
0
ファイル: Ad6media.cs プロジェクト: nikolayiliaev/First
        public void ChooseCorrectCampaignUI(IWebDriver driver, Report_data report)
        {
            switch (report.campaign_name)
            {
            case "Ad6Media_Pop_D_FR_4":
            {
                var selectElement = new SelectElement(driver.FindElement(By.Id("site")));
                selectElement.SelectByText("ad-maven FR 4");
                Func.take_screenshot(report.campaign_name, folder_path);
                Func.clear_local_storage(driver);
                break;
            }

            case "Ad6Media_Pop_D_FR_5":
            {
                var selectElement = new SelectElement(driver.FindElement(By.Id("site")));
                selectElement.SelectByText("ad-maven. FR 5");
                Func.take_screenshot(report.campaign_name, folder_path);
                Func.clear_local_storage(driver);
                break;
            }

            case "Ad6Media_Pop_D_BE_3":
            {
                var selectElement = new SelectElement(driver.FindElement(By.Id("site")));
                selectElement.SelectByText("ad-maven BE 3");
                Func.take_screenshot(report.campaign_name, folder_path);
                Func.clear_local_storage(driver);
                break;
            }

            case "Ad6Media_Pop_D_BE_4":
            {
                var selectElement = new SelectElement(driver.FindElement(By.Id("site")));
                selectElement.SelectByText("ad-maven BE 4");
                Func.take_screenshot(report.campaign_name, folder_path);
                Func.clear_local_storage(driver);
                break;
            }

            case "Ad6Media_Pop_D_IT":
            {
                var selectElement = new SelectElement(driver.FindElement(By.Id("site")));
                selectElement.SelectByText("ad-maven Italy 1");
                Func.take_screenshot(report.campaign_name, folder_path);
                Func.clear_local_storage(driver);
                break;
            }

            default:
            {
                break;
            }
            }
        }
コード例 #5
0
ファイル: Ply2c.cs プロジェクト: nikolayiliaev/superman
        public void Get_reports_screen_shots(IWebDriver driver, Report_data report)
        {
            Func.check_if_folder_exists(folder_path);
            TextWriter tw = Func.check_if_log_file_exists(file_path);

            try
            {
                login(driver, report.login_user, report.login_pass);
                if (Func.check_login_ply2c(driver, login_url))
                {
                    var wait    = new WebDriverWait(driver, TimeSpan.FromMinutes(1));
                    int camp_id = get_campaign_id(report.campaign_name);
                    if (camp_id != -1)
                    {
                        Thread.Sleep(5000);
                        string url = login_url + "/publisher#/" + camp_id + "/reports/Appearances/Last%20Month";
                        driver.Navigate().GoToUrl(url);
                        wait.Until(report_table => report_table.FindElement(By.CssSelector("div[id*='gridpanel']")));
                        Thread.Sleep(1500);
                        Func.take_screenshot(report.campaign_name, folder_path);
                        Func.clear_local_storage(driver);
                        tw.Close();
                    }
                    else
                    {
                        tw.WriteLine(report.campaign_name + " campaign name not include the id in the end");
                        Func.clear_local_storage(driver);
                        tw.Close();
                    }
                }
                else
                {
                    tw.WriteLine(report.campaign_name + " cannot login");
                    Func.clear_local_storage(driver);
                    tw.Close();
                }
            }
            catch (Exception e)
            {
                tw.WriteLine(report.campaign_name + " Exception while screen shot try again");
                try
                {
                    Func.clear_local_storage(driver);
                }

                catch
                {
                    tw.Close();
                }

                tw.Close();
            }
        }
コード例 #6
0
        public void Get_reports_screen_shots(IWebDriver driver, Report_data report)
        {
            Func.check_if_folder_exists(folder_path);
            TextWriter          tw = Func.check_if_log_file_exists(file_path);
            IJavaScriptExecutor js = (IJavaScriptExecutor)driver;

            DateTime today             = DateTime.Now;
            DateTime lastMonthFirstDay = new DateTime(today.Year, today.Month, 1);

            lastMonthFirstDay = lastMonthFirstDay.AddMonths(-1);
            DateTime lastMonthLastDay = new DateTime(today.Year, today.Month, 1);

            lastMonthLastDay = lastMonthLastDay.AddDays(-1);

            try
            {
                login(driver, report.login_user, report.login_pass);
                if (Func.check_login(driver, login_url))
                {
                    var wait = new WebDriverWait(driver, TimeSpan.FromMinutes(3));
                    driver.Navigate().GoToUrl("http://member.yesadvertising.com/publisher/report/traffic?dateFrom=" + lastMonthFirstDay.GetDateTimeFormats()[5] + "&dateTo=" + lastMonthLastDay.GetDateTimeFormats()[5] + "&site_id=&zone_id=&group_by=zone_id&sub_group_by=site_id&display_cpx=0&items_per_page=10");

                    Thread.Sleep(5000);
                    int document_height       = Convert.ToInt32((string)js.ExecuteScript("return document.body.scrollHeight").ToString());
                    int client_height         = Convert.ToInt32((string)js.ExecuteScript("return document.body.clientHeight").ToString());
                    int number_of_screen_shot = (document_height / client_height) + 1;
                    for (int i = 0; i < number_of_screen_shot; i++)
                    {
                        Func.take_screenshot(report.campaign_name, folder_path, i + 1);
                        js.ExecuteScript("window.scrollTo(0 ," + client_height + ")");
                        Thread.Sleep(2000);
                    }
                    Func.take_screenshot(report.campaign_name, folder_path);
                    Func.clear_local_storage(driver);
                    driver.Navigate().GoToUrl("http://member.yesadvertising.com/member/auth/login");
                    tw.Close();
                }
                else
                {
                    Func.clear_local_storage(driver);
                    tw.WriteLine(report.campaign_name + " cannot login");
                    tw.Close();
                }
            }
            catch (Exception e)
            {
                driver.Navigate().GoToUrl("http://member.yesadvertising.com/member/auth/login");
                tw.WriteLine(report.campaign_name + " Exception while screen shot try again");
                Func.clear_local_storage(driver);
                tw.Close();
            }
        }
コード例 #7
0
        public void Get_reports_screen_shots(IWebDriver driver, Report_data report, string from, string to)
        {
            Func.check_if_folder_exists(folder_path);
            TextWriter          tw    = Func.check_if_log_file_exists(file_path);
            DateTime            today = DateTime.Now;
            DateTime            month = new DateTime(today.Year, today.Month, 1);
            IJavaScriptExecutor js    = (IJavaScriptExecutor)driver;
            int lastMonth             = month.AddMonths(-1).Month;
            int yearOfLastMonth       = month.AddMonths(-1).Year;
            int lastDayOfLastMonth    = month.AddDays(-1).Day;

            try
            {
                login(driver, report.login_user, report.login_pass);
                if (Func.check_login(driver, login_url))
                {
                    var wait = new WebDriverWait(driver, TimeSpan.FromMinutes(3));
                    driver.Navigate().GoToUrl("https://admin.exoclick.com/sell_stats.php?date_from=" + from + "&date_to=" + to + "&country=ALL&idsite=&blocker=");

                    Thread.Sleep(5000);
                    driver.FindElement(By.Id("tablink-4")).Click();
                    Thread.Sleep(2000);
                    int document_height       = Convert.ToInt32((string)js.ExecuteScript("return document.body.scrollHeight").ToString());
                    int client_height         = Convert.ToInt32((string)js.ExecuteScript("return document.body.clientHeight").ToString());
                    int number_of_screen_shot = (document_height / client_height) + 1;
                    for (int i = 0; i < number_of_screen_shot; i++)
                    {
                        Func.take_screenshot(report.campaign_name, folder_path, i + 1);
                        js.ExecuteScript("window.scrollTo(0 ," + client_height + ")");
                        Thread.Sleep(2000);
                    }
                    Func.take_screenshot(report.campaign_name, folder_path);
                    Func.clear_local_storage(driver);
                    driver.Navigate().GoToUrl("https://admin.exoclick.com/login.php?action=logout");
                    tw.Close();
                }
                else
                {
                    Func.clear_local_storage(driver);
                    tw.WriteLine(report.campaign_name + " cannot login");
                    tw.Close();
                }
            }
            catch (Exception e)
            {
                driver.Navigate().GoToUrl("https://admin.exoclick.com/login.php?action=logout");
                tw.WriteLine(report.campaign_name + " Exception while screen shot try again");
                Func.clear_local_storage(driver);
                tw.Close();
            }
        }
コード例 #8
0
        public void Get_reports_screen_shots(IWebDriver driver, Report_data report)
        {
            Func.check_if_folder_exists(folder_path);
            TextWriter          tw    = Func.check_if_log_file_exists(file_path);
            DateTime            today = DateTime.Now;
            DateTime            month = new DateTime(today.Year, today.Month, 1);
            IJavaScriptExecutor js    = (IJavaScriptExecutor)driver;
            int lastMonth             = month.AddMonths(-1).Month;
            int yearOfLastMonth       = month.AddMonths(-1).Year;
            int lastDayOfLastMonth    = month.AddDays(-1).Day;

            try
            {
                login(driver, report.login_user, report.login_pass);
                if (Func.check_login(driver, login_url))
                {
                    var wait = new WebDriverWait(driver, TimeSpan.FromMinutes(3));
                    driver.Navigate().GoToUrl("http://ui.adsupply.com/PublicPortal/Publisher/259/Report?SqlCommandId=&ExportToExcel=False&DateFilter=" + lastMonth + "%2F1%2F" + yearOfLastMonth + "+-+" + lastMonth + "%2F" + lastDayOfLastMonth + "%2F" + yearOfLastMonth + "&TimeZoneId=UTC&Grouping=3&DimPublisher.Value=259~Ad-Maven+Ltd.&DimPublisher.IsActive=True&DimSiteName.Value=&DimSiteName.IsActive=True&DimCountry.Value=&DimCountry.IsActive=False&DimMediaType.Value=&DimMediaType.IsActive=False&DimPublisherSubId.IsActive=False");

                    Thread.Sleep(5000);
                    int document_height = Convert.ToInt32((string)js.ExecuteScript("return document.body.scrollHeight").ToString());
                    int client_height   = Convert.ToInt32((string)js.ExecuteScript("return document.body.clientHeight").ToString());
                    //if you need to scroll down and take enother screenshot write + 1  to number_of_screen_shote
                    int number_of_screen_shot = (document_height / client_height);
                    for (int i = 0; i < number_of_screen_shot; i++)
                    {
                        Func.take_screenshot(report.campaign_name, folder_path, i + 1);
                        js.ExecuteScript("window.scrollTo(0 ," + client_height + ")");
                        Thread.Sleep(2000);
                    }

                    Func.clear_local_storage(driver);
                    driver.Navigate().GoToUrl("http://ui.adsupply.com/Account/LogOut");
                    tw.Close();
                }
                else
                {
                    Func.clear_local_storage(driver);
                    tw.WriteLine(report.campaign_name + " cannot login");
                    tw.Close();
                }
            }
            catch (Exception e)
            {
                driver.Navigate().GoToUrl("http://ui.adsupply.com/Account/LogOut");
                tw.WriteLine(report.campaign_name + " Exception while screen shot try again");
                Func.clear_local_storage(driver);
                tw.Close();
            }
        }
コード例 #9
0
ファイル: Wigitmedia.cs プロジェクト: nikolayiliaev/First
        public void Get_reports_screen_shots(IWebDriver driver, Report_data report)
        {
            Func.check_if_folder_exists(folder_path);
            TextWriter          tw = Func.check_if_log_file_exists(file_path);
            IJavaScriptExecutor js = (IJavaScriptExecutor)driver;

            try
            {
                var wait_login = new WebDriverWait(driver, TimeSpan.FromSeconds(20));
                driver.Navigate().GoToUrl(login_url);
                wait_login.Until(user_name => user_name.FindElement(By.Id("signin_username"))).SendKeys(report.login_user);
                wait_login.Until(password => password.FindElement(By.Name("signin_password"))).SendKeys(report.login_pass);
                wait_login.Until(sign_in_button => sign_in_button.FindElement(By.ClassName("sign-in"))).FindElement(By.TagName("input")).Submit();
                if (Func.check_login(driver, login_url))
                {
                    var wait = new WebDriverWait(driver, TimeSpan.FromMinutes(3));
                    wait.Until(report_tab => report_tab.FindElement(By.Id("side_reports"))).Click();
                    IList <IWebElement> search_box = wait.Until(group_by => group_by.FindElements(By.ClassName("search-field")));
                    search_box[0].FindElement(By.TagName("input")).Click();
                    IList <IWebElement> chosen_results = wait.Until(group_by_option => group_by_option.FindElements(By.ClassName("chosen-results")));
                    IList <IWebElement> options        = chosen_results[0].FindElements(By.TagName("li"));
                    options[2].Click();
                    driver.FindElement(By.Id("publisher")).FindElement(By.TagName("input")).Click();
                    IWebElement date_range = driver.FindElement(By.Id("date_range_chosen"));
                    date_range.Click();
                    IList <IWebElement> date_range_options = date_range.FindElements(By.TagName("li"));
                    date_range_options[6].Click();
                    driver.FindElement(By.CssSelector("#form-quickreport > div > input:nth-child(1)")).Click();
                    wait.Until(report_ui => report_ui.FindElement(By.Id("queue")));
                    Thread.Sleep(1000);
                    js.ExecuteScript("window.scrollTo(document.querySelectorAll('.container .tab-container[data-tab=reports] .col-right')[0].scrollTop += 1000 , 0)");
                    Thread.Sleep(500);
                    Func.take_screenshot(report.campaign_name, folder_path);
                    Func.clear_local_storage(driver);
                    tw.Close();
                }
                else
                {
                    Func.clear_local_storage(driver);
                    tw.WriteLine(report.campaign_name + " cannot login");
                    tw.Close();
                }
            }
            catch (Exception e)
            {
                Func.clear_local_storage(driver);
                tw.WriteLine(report.campaign_name + " Exception while screen shot try again");
                tw.Close();
            }
        }
コード例 #10
0
        public void Get_reports_screen_shots(IWebDriver driver, Report_data report)
        {
            IJavaScriptExecutor js = (IJavaScriptExecutor)driver;

            Func.check_if_folder_exists(folder_path);
            TextWriter tw = Func.check_if_log_file_exists(file_path);

            try
            {
                login(driver, report.login_user, report.login_pass);
                if (Func.check_login(driver, login_url))
                {
                    var wait = new WebDriverWait(driver, TimeSpan.FromMinutes(3));
                    IList <IWebElement> bar_options = wait.Until(bar => bar.FindElement(By.Id("cssmenu"))).FindElements(By.TagName("a"));
                    bar_options.Cast <IWebElement>().SingleOrDefault(a => a.Text == "Statistics").Click();
                    Thread.Sleep(500);
                    var select = new SelectElement(wait.Until(select_element => select_element.FindElement(By.Id("change_date"))));
                    select.SelectByText("Previous Month");
                    driver.FindElement(By.Id("report_filter_submit")).Click();
                    Thread.Sleep(500);
                    int document_height       = Convert.ToInt32((string)js.ExecuteScript("return document.body.scrollHeight").ToString());
                    int client_height         = Convert.ToInt32((string)js.ExecuteScript("return document.body.clientHeight").ToString());
                    int number_of_screen_shot = (document_height / client_height) + 1;
                    for (int i = 0; i < number_of_screen_shot; i++)
                    {
                        Func.take_screenshot(report.campaign_name, folder_path, i + 1);
                        js.ExecuteScript("window.scrollTo(0 ," + client_height + ")");
                        Thread.Sleep(2000);
                    }
                    Func.clear_local_storage(driver);
                    tw.Close();
                }
                else
                {
                    Func.clear_local_storage(driver);
                    tw.WriteLine(report.campaign_name + " cannot login");
                    tw.Close();
                }
            }
            catch (Exception e)
            {
                Func.clear_local_storage(driver);
                tw.WriteLine(report.campaign_name + " Exception while screen shot try again");
                tw.Close();
            }
        }
コード例 #11
0
        public void Get_reports_screen_shots(IWebDriver driver, Report_data report)
        {
            Func.check_if_folder_exists(folder_path);
            TextWriter tw = Func.check_if_log_file_exists(file_path);

            try
            {
                login(driver, report.login_user, report.login_pass);
                if (Func.check_login(driver, login_url))
                {
                    var wait = new WebDriverWait(driver, TimeSpan.FromMinutes(3));
                    wait.Until(element => element.FindElement(By.ClassName("sidenav"))).FindElement(By.CssSelector("a[ui-sref='admin.stats']")).Click();
                    wait.Until(element => element.FindElement(By.ClassName("pa-chart__overlay")));
                    wait.Until(element => element.FindElement(By.ClassName("stats-result__header"))).FindElement(By.CssSelector("div[ng-click='t.tabId = 1']")).Click();
                    wait.Until(element => element.FindElement(By.ClassName("query__interval"))).Click();
                    IList <IWebElement> all_dates = wait.Until(element => element.FindElement(By.ClassName("pa-interval__defaults"))).FindElements(By.TagName("div"));
                    all_dates[5].Click();
                    var selectElement = new SelectElement(driver.FindElement(By.ClassName("query__group-by__value")));
                    selectElement.SelectByText("Site");
                    driver.FindElement(By.ClassName("query__toggle")).Click();
                    Thread.Sleep(10000);
                    Func.take_screenshot(report.campaign_name, folder_path);
                    Func.clear_local_storage(driver);

                    driver.FindElement(By.ClassName("header__logout")).Click();
                    tw.Close();
                }
                else
                {
                    Func.clear_local_storage(driver);
                    tw.WriteLine(report.campaign_name + " cannot login");
                    tw.Close();
                }
            }
            catch (Exception e)
            {
                driver.FindElement(By.ClassName("header__logout")).Click();
                tw.WriteLine(report.campaign_name + " Exception while screen shot try again");
                Func.clear_local_storage(driver);
                tw.Close();
            }
        }
コード例 #12
0
        public void Get_reports_screen_shots(IWebDriver driver, Report_data report)
        {
            Func.check_if_folder_exists(folder_path);
            TextWriter tw = Func.check_if_log_file_exists(file_path);

            try
            {
                var wait_login = new WebDriverWait(driver, TimeSpan.FromMinutes(3));
                driver.Navigate().GoToUrl(login_url);
                wait_login.Until(user_name => user_name.FindElement(By.Id("memberId"))).SendKeys(report.login_user);
                wait_login.Until(password => password.FindElement(By.Name("password"))).SendKeys(report.login_pass);
                Thread.Sleep(1500);
                wait_login.Until(sign_in_button => sign_in_button.FindElement(By.Id("login"))).Click();
                if (check_login_velis(driver, login_url))
                {
                    var wait = new WebDriverWait(driver, TimeSpan.FromMinutes(3));
                    wait.Until(date_range => date_range.FindElement(By.Id("ctrlAnalytics_inptDateRange"))).Click();
                    Thread.Sleep(1000);
                    driver.FindElement(By.ClassName("ui-daterangepicker-ThepreviousMonth")).Click();
                    Thread.Sleep(1500);
                    driver.FindElement(By.XPath(".//*[@id='ctrlAnalytics_rdoGraphTableAnalytics']/label[2]/span")).Click();
                    Thread.Sleep(1000);
                    Func.take_screenshot(report.campaign_name, folder_path);

                    Func.clear_local_storage(driver);
                    tw.Close();
                }
                else
                {
                    Func.clear_local_storage(driver);
                    tw.WriteLine(report.campaign_name + " cannot login");
                    tw.Close();
                }
            }
            catch (Exception e)
            {
                Func.clear_local_storage(driver);
                tw.WriteLine(report.campaign_name + " Exception while screen shot try again");
                tw.Close();
            }
        }
コード例 #13
0
ファイル: Saludo.cs プロジェクト: nikolayiliaev/First
        public void Get_reports_screen_shots(IWebDriver driver, Report_data report)
        {
            Func.check_if_folder_exists(folder_path);
            TextWriter tw = Func.check_if_log_file_exists(file_path);

            try
            {
                login(driver, report.login_user, report.login_pass);
                var wait = new WebDriverWait(driver, TimeSpan.FromMinutes(3));
                Thread.Sleep(5000);
                string url             = login_url + "/account/home.do#|analytics";
                IJavaScriptExecutor js = (IJavaScriptExecutor)driver;
                js.ExecuteScript("this.document.location = arguments[0]", url);
                wait.Until(element => element.FindElement(By.Id("analytics-range-inputEl"))).SendKeys(Keys.ArrowDown + Keys.ArrowDown + Keys.ArrowDown + Keys.ArrowDown +
                                                                                                      Keys.ArrowDown + Keys.ArrowDown + Keys.ArrowDown + Keys.Enter);
                wait.Until(element => element.FindElement(By.Id("analytics-groupBy-inputEl"))).SendKeys(Keys.ArrowDown + Keys.ArrowDown + Keys.ArrowDown + Keys.Enter);
                Thread.Sleep(2000);
                //wait.Until(element => element.FindElement(By.Id("button-1075-btnIconEl"))).Click();
                IWebElement run_report = (IWebElement)js.ExecuteScript("return document.getElementsByClassName('x-btn x-unselectable btn btn-default btn-lg x-box-item x-toolbar-item x-btn-default-medium x-noicon x-btn-noicon x-btn-default-medium-noicon')[1]");
                run_report.Click();
                Thread.Sleep(10000);
                wait.Until(element => element.FindElement(By.Id("panel-1092_header_hd-textEl"))).Click();
                Thread.Sleep(2000);
                Func.take_screenshot(report.campaign_name, folder_path);
                Func.clear_local_storage(driver);
                js.ExecuteScript("document.getElementById('logout-form').submit();");
                tw.Close();
            }

            catch (Exception e)
            {
                tw.WriteLine(report.campaign_name + " Exception while screen shot try again");
                Func.clear_local_storage(driver);
                tw.Close();
            }
        }
コード例 #14
0
        public void Get_reports_screen_shots(IWebDriver driver, Report_data report, String monthparam)
        {
            Func.check_if_folder_exists(folder_path);
            TextWriter tw                    = Func.check_if_log_file_exists(file_path);
            DateTime   today                 = DateTime.Now;
            DateTime   month                 = new DateTime(today.Year, today.Month, 1);
            int        lastMonth             = month.AddMonths(-1).Month;
            int        yearOfLastMonth       = month.AddMonths(-1).Year;
            int        lastDayOfLastMonth    = month.AddDays(-1).Day;
            string     FirstdayOfMonthToUser = "******";
            string     lastMonthString       = monthparam;

            if (lastMonth <= 9)
            {
                lastMonthString = "0" + lastMonth.ToString();
            }
            else
            {
                lastMonthString = lastMonth.ToString();
            }

            IJavaScriptExecutor js = (IJavaScriptExecutor)driver;

            try
            {
                login(driver, report.login_user, report.login_pass);
                if (Func.check_login(driver, login_url))
                {
                    var wait = new WebDriverWait(driver, TimeSpan.FromMinutes(3));
                    driver.Navigate().GoToUrl("http://www2.pubdirecte.com/stat_editeur.php?page=jour");

                    //  + lastMonthString +
                    js.ExecuteScript("document.getElementsByName('debut_m')[0].value = '" + monthparam + "'");
                    js.ExecuteScript("document.getElementsByName('debut_d')[0].value = '01'");
                    js.ExecuteScript("document.getElementsByName('debut_y')[0].value = '" + yearOfLastMonth.ToString() + "'");
                    js.ExecuteScript("document.getElementsByName('fin_d')[0].value = '" + lastDayOfLastMonth.ToString() + "'");
                    js.ExecuteScript("document.getElementsByName('fin_m')[0].value = '" + monthparam + "'");
                    js.ExecuteScript("document.getElementsByName('fin_y')[0].value = '" + yearOfLastMonth.ToString() + "'");
                    js.ExecuteScript("document.getElementsByName('B1')[0].click()");

                    Thread.Sleep(5000);
                    int document_height       = Convert.ToInt32((string)js.ExecuteScript("return document.body.scrollHeight").ToString());
                    int client_height         = Convert.ToInt32((string)js.ExecuteScript("return document.body.clientHeight").ToString());
                    int number_of_screen_shot = (document_height / client_height) + 1;
                    for (int i = 0; i < number_of_screen_shot; i++)
                    {
                        Func.take_screenshot(report.campaign_name, folder_path, i + 1);
                        js.ExecuteScript("window.scrollTo(0 ," + client_height + ")");
                        Thread.Sleep(2000);
                    }
                    Func.take_screenshot(report.campaign_name, folder_path);
                    Func.clear_local_storage(driver);
                    driver.Navigate().GoToUrl("http://www2.pubdirecte.com/login.php");
                    tw.Close();
                }
                else
                {
                    Func.clear_local_storage(driver);
                    tw.WriteLine(report.campaign_name + " cannot login");
                    tw.Close();
                }
            }
            catch (Exception e)
            {
                driver.Navigate().GoToUrl("http://www2.pubdirecte.com/login.php");
                tw.WriteLine(report.campaign_name + " Exception while screen shot try again");
                Func.clear_local_storage(driver);
                tw.Close();
            }
        }
コード例 #15
0
ファイル: Revtop.cs プロジェクト: nikolayiliaev/First
        public void Get_reports_screen_shots(IWebDriver driver, Report_data report)
        {
            Func.check_if_folder_exists(folder_path);
            TextWriter tw                    = Func.check_if_log_file_exists(file_path);
            DateTime   today                 = DateTime.Now;
            DateTime   month                 = new DateTime(today.Year, today.Month, 1);
            int        lastMonth             = month.AddMonths(-1).Month;
            int        yearOfLastMonth       = month.AddMonths(-1).Year;
            int        lastDayOfLastMonth    = month.AddDays(-1).Day;
            string     FirstdayOfMonthToUser = "******";
            string     lastMonthString;

            if (lastMonth <= 9)
            {
                lastMonthString = "0" + lastMonth.ToString();
            }
            else
            {
                lastMonthString = lastMonth.ToString();
            }

            IJavaScriptExecutor js = (IJavaScriptExecutor)driver;

            try
            {
                login(driver, report.login_user, report.login_pass);
                if (Func.check_login(driver, login_url))
                {
                    var wait = new WebDriverWait(driver, TimeSpan.FromMinutes(3));
                    driver.Navigate().GoToUrl("http://pub.revtop.com/#/statistics");
                    Thread.Sleep(5000);
                    wait.Until(element => element.FindElement(By.ClassName("advanced-datepicker"))).Click();
                    IList <IWebElement> allDatesOption = wait.Until(element => element.FindElements(By.ClassName("ranges"))[1]).FindElement(By.TagName("ul")).FindElements(By.TagName("li"));
                    allDatesOption[5].Click();
                    Thread.Sleep(10000);
                    IList <IWebElement> allSitesOption = wait.Until(element => element.FindElement(By.ClassName("wrapper-label"))).FindElements(By.TagName("a"));
                    allSitesOption[2].Click();
                    Thread.Sleep(10000);
                    int document_height       = Convert.ToInt32((string)js.ExecuteScript("return document.body.scrollHeight").ToString());
                    int client_height         = Convert.ToInt32((string)js.ExecuteScript("return document.body.clientHeight").ToString());
                    int number_of_screen_shot = (document_height / client_height) + 1;
                    for (int i = 0; i < number_of_screen_shot; i++)
                    {
                        Func.take_screenshot(report.campaign_name, folder_path, i + 1);
                        js.ExecuteScript("window.scrollTo(0 ," + client_height + ")");
                        Thread.Sleep(2000);
                    }
                    Func.take_screenshot(report.campaign_name, folder_path);
                    Func.clear_local_storage(driver);
                    driver.Navigate().GoToUrl("http://pub.revtop.com/#/login");
                    tw.Close();
                }
                else
                {
                    Func.clear_local_storage(driver);
                    tw.WriteLine(report.campaign_name + " cannot login");
                    tw.Close();
                }
            }
            catch (Exception e)
            {
                driver.Navigate().GoToUrl("http://pub.revtop.com/#/login");
                tw.WriteLine(report.campaign_name + " Exception while screen shot try again");
                Func.clear_local_storage(driver);
                tw.Close();
            }
        }