Esempio n. 1
0
        //Verilen site adına login işlemi yapan fonksiyon.
        public static void LoginIslemiYap(string SiteAdi)
        {
            string KullaniciAdi = "ygtest", Sifre = "test2015";


            ChromeDriverSingleton.yeniKopyaYarat();

            //Sitenin yüklenme süresini 60 sn olarak ayarlar..
            ChromeDriverSingleton.getDriverInstance().Manage().Timeouts().PageLoad     = TimeSpan.FromSeconds(ChromeDriverSingleton.timeoutDegeri);
            //Console.WriteLine("  ------" + ChromeDriverSingleton.getDriverInstance().Manage().Timeouts().PageLoad);

            //Elementin yüklenme süresini 15 saniye olarak ayarlar..
            ChromeDriverSingleton.getDriverInstance().Manage().Timeouts().ImplicitWait = TimeSpan.FromSeconds(15);

            //Cookieleri silerek tekrardan login ekranina gelinmesi işlemini yapan fonksiyonlar..
            ChromeDriverSingleton.getDriverInstance().Manage().Cookies.DeleteAllCookies();

            string[] epostaMesaji = ChromeDriverSingleton.epostaMesaji;

            if (!ChromeDriverSingleton.parametreIleMiGeldi)
            {
                ChromeDriverSingleton.EpostalariSifirla();
                epostaMesaji = ChromeDriverSingleton.epostaMesaji;
            }

            //Tekrar tekrar chromeDriver yaratılmamaktadır..
            IWebDriver driver = ChromeDriverSingleton.getDriverInstance();

            bool webSitesiCevapVerdiMi = false;

            //Chrome driver ekranının minimum olması sağlandı..
            //driver.Manage().Window.Minimize();

            WebSitesi ilgiliWebSitesi = WebSitesiniGetir(SiteAdi);

            System.Threading.Thread.Sleep(1000);

            if (ilgiliWebSitesi != null)
            {
                if (SiteAdi.Equals(ilgiliWebSitesi._siteAdi))
                {
                    webSitesiCevapVerdiMi = SiteCevapVerdiMi(driver, ilgiliWebSitesi._url, KullaniciAdi, epostaMesaji);
                }
                else
                {
                    webSitesiCevapVerdiMi = SiteCevapVerdiMi(driver, ilgiliWebSitesi._url, KullaniciAdi, epostaMesaji);
                }

                driver = ChromeDriverSingleton.getDriverInstance();

                ChromeDriverSingleton.exceptionSiteCevapVerdiMiCount = 0;

                ChromeDriverSingleton.siteCevabiOlumluMu = false;


                if (webSitesiCevapVerdiMi)
                {
                    KullaniciGirisiYap(driver, KullaniciAdi, Sifre, ilgiliWebSitesi, epostaMesaji);
                }
                else
                {
                    ChromeDriverSingleton.siteCevabiOlumluMu = false;
                }

                ChromeDriverSingleton.exceptionCountWebSiteleriSifirla();
                ChromeDriverSingleton.exceptionLoginSonrasiCountSifirla();

                servisUrlleriniKontrolEt(ilgiliWebSitesi, epostaMesaji);

                if (!ChromeDriverSingleton.parametreIleMiGeldi)
                {
                    EpostaGonder(ChromeDriverSingleton.siteCevabiOlumluMu, KullaniciAdi, SiteAdi, epostaMesaji);

                    ChromeDriverSingleton.siteCevabiOlumluMu = false;
                }

                webSitesiCevapVerdiMi = false;
            }

            else
            {
                ChromeDriverSingleton.griYaz("İlgili web sitesi veritabaninda bulunamadi..");
            }
        }
Esempio n. 2
0
        //Sitenin cevap verip vermediğini sorgulayan fonksiyon.
        public static bool SiteCevapVerdiMi(IWebDriver driver, string SiteAdi, string KullaniciAdi, string[] epostaMesaji)
        {
            try
            {
                driver.Url = SiteAdi;

                ChromeDriverSingleton.siteCevabiOlumluMu = true;

                return(true);
            }
            catch (Exception ex)
            {
                if (ex is WebDriverTimeoutException)
                {
                    ChromeDriverSingleton.dosyayaCumleYaz(ChromeDriverSingleton.logDosyasiPath, SiteAdi + " web sitesi cevap vermemektedir.. Hata: " + ex.ToString());

                    ChromeDriverSingleton.dosyayaCumleYaz(ChromeDriverSingleton.hataDosyasiPath, SiteAdi + " web sitesi cevap vermemektedir hata kodu: 108 Hata:" + ex.ToString());

                    ChromeDriverSingleton.kirmiziYaz(SiteAdi + " web sitesi cevap vermemektedir..");

                    epostaMesaji[ChromeDriverSingleton.ePostaSayisi] = "<font color='red'>" + SiteAdi + " web sitesi CEVAP VERMEMEKTEDİR..</font>";

                    ChromeDriverSingleton.ePostaSayisi++;

                    ChromeDriverSingleton.siteCevabiOlumluMu = false;

                    return(false);
                }

                if (ChromeDriverSingleton.exceptionSiteCevapVerdiMiCount < 3)
                {
                    ChromeDriverSingleton.yesilYaz(SiteAdi + " sitesi driver'a url yüklenirken exceptiona düştü, giriş deneme sayisi: " + ChromeDriverSingleton.exceptionSiteCevapVerdiMiCount);

                    ChromeDriverSingleton.exceptionSiteCevapVerdiMiCount++;

                    ChromeDriverSingleton.kirmiziYaz("Exception. Bir sonraki deneme için 30 saniye bekliyor..");

                    System.Threading.Thread.Sleep(30000);

                    ChromeDriverSingleton.driver.Quit();
                    ChromeDriverSingleton.driver = new ChromeDriver();

                    ChromeDriverSingleton.yeniKopyaYarat();

                    ChromeDriverSingleton.siteCevabiOlumluMu = SiteCevapVerdiMi(ChromeDriverSingleton.driver, SiteAdi, KullaniciAdi, epostaMesaji);

                    if (ChromeDriverSingleton.siteCevabiOlumluMu)
                    {
                        return(true);
                    }
                    else
                    {
                        return(false);
                    }
                }
                else
                {
                    ChromeDriverSingleton.dosyayaCumleYaz(ChromeDriverSingleton.logDosyasiPath, SiteAdi + " web sitesine giris yapilamamaktadir.. Hata:" + ex.ToString());

                    ChromeDriverSingleton.dosyayaCumleYaz(ChromeDriverSingleton.hataDosyasiPath, SiteAdi + " web sitesine giris yapilamamaktadir hata kodu: 109 .. Hata: " + ex.ToString());

                    ChromeDriverSingleton.kirmiziYaz(SiteAdi + " web sitesine giris yapilamamaktadir..");

                    epostaMesaji[ChromeDriverSingleton.ePostaSayisi] = "<font color='red'>" + SiteAdi + " web sitesine GIRIS YAPILAMAMAKTADIR..</font>";

                    ChromeDriverSingleton.ePostaSayisi++;

                    ChromeDriverSingleton.siteCevabiOlumluMu = false;

                    return(false);
                }
            }
        }
Esempio n. 3
0
        //Bir web sitesine kullanıcı girişi yapmaya yarayan fonksiyon.
        public static bool KullaniciGirisiYap(IWebDriver driver, string KullaniciAdi, string Sifre, WebSitesi ilgiliWebSitesi, string[] epostaMesaji)
        {
            //Flash animasyonu olan sitelerde bekleme yapmazsak kullanıcı adı ve sifre bolumlerini bulamamaktadır..
            System.Threading.Thread.Sleep(1000);

            //string[] errorEtiketim = null;

            try
            {
                if (ilgiliWebSitesi._girisEkraniElementiNameMi)
                {
                    driver.FindElement(By.Name(ilgiliWebSitesi._kullaniciAdiEtiketi)).Clear();
                    driver.FindElement(By.Name(ilgiliWebSitesi._kullaniciAdiEtiketi)).SendKeys(KullaniciAdi);
                    driver.FindElement(By.Name(ilgiliWebSitesi._sifreEtiketi)).Clear();
                    driver.FindElement(By.Name(ilgiliWebSitesi._sifreEtiketi)).SendKeys(Sifre + Keys.Enter);
                }
                else
                {
                    driver.FindElement(By.Id(ilgiliWebSitesi._kullaniciAdiEtiketi)).Clear();
                    driver.FindElement(By.Id(ilgiliWebSitesi._kullaniciAdiEtiketi)).SendKeys(KullaniciAdi);
                    driver.FindElement(By.Id(ilgiliWebSitesi._sifreEtiketi)).Clear();
                    driver.FindElement(By.Id(ilgiliWebSitesi._sifreEtiketi)).SendKeys(Sifre + Keys.Enter);
                }


                SiteCevabi = UrlStatusCodeAl(Convert.ToString(driver.Url));

                ChromeDriverSingleton.exceptionCountServisUrlleriSifirla();

                if (!(Convert.ToString(SiteCevabi).Equals("OK")))
                {
                    ChromeDriverSingleton.dosyayaCumleYaz(ChromeDriverSingleton.logDosyasiPath, ilgiliWebSitesi._siteAdi + " sunucusuna ait server  response statu code olarak hata mesaji vermistir..");

                    ChromeDriverSingleton.kirmiziYaz(ilgiliWebSitesi._siteAdi + " sunucusuna ait server hata mesaji vermistir..");

                    ChromeDriverSingleton.dosyayaCumleYaz(ChromeDriverSingleton.hataDosyasiPath, ilgiliWebSitesi._siteAdi + " sunucusuna ait server response statu code olarak hata mesaji vermistir ve sunucunun döndürdüğü cevap: " + SiteCevabi + " hata kodu: 101");

                    epostaMesaji[ChromeDriverSingleton.ePostaSayisi] = "<font color='red'>" + ilgiliWebSitesi._siteAdi + " sunucusuna ait server  response statu code olarak HATA mesaji vermistir ve sunucunun döndürdüğü cevap: " + SiteCevabi + "</font>";

                    ChromeDriverSingleton.ePostaSayisi++;

                    ChromeDriverSingleton.siteCevabiOlumluMu = false;

                    return(false);
                }
            }
            catch (Exception ex)
            {
                if (InternetBaglantisiVarMi())
                {
                    if (ex is TimeoutException)
                    {
                        ChromeDriverSingleton.dosyayaCumleYaz(ChromeDriverSingleton.logDosyasiPath, ilgiliWebSitesi._siteAdi + " sunucusuna ait server giriş işlemi yapılırken " + ChromeDriverSingleton.timeoutDegeri + " saniye içerisinde kullanıcı adı ve sifre etiketini yükleyemedi..  Hata:" + ex.ToString());

                        ChromeDriverSingleton.dosyayaCumleYaz(ChromeDriverSingleton.hataDosyasiPath, ilgiliWebSitesi._siteAdi + " sunucusuna ait server giriş işlemi yapılırken" + ChromeDriverSingleton.timeoutDegeri + " saniye içerisinde kullanıcı adı ve sifre etiketini yükleyemedi.. Hata:" + ex.ToString());

                        ChromeDriverSingleton.kirmiziYaz(ilgiliWebSitesi._siteAdi + " sunucusuna ait server giriş işlemi ypaılırken " + ChromeDriverSingleton.timeoutDegeri + " saniye kullanıcı adı ve sifre etiketini yükleyemedi..");

                        epostaMesaji[ChromeDriverSingleton.ePostaSayisi] = "<font color='red'>" + ilgiliWebSitesi._siteAdi + " sunucusuna ait server giriş işlemi yapılırken " + ChromeDriverSingleton.timeoutDegeri + " saniye içerisinde Etiketleri yükleyemedi..</font>";

                        ChromeDriverSingleton.ePostaSayisi++;

                        ChromeDriverSingleton.siteCevabiOlumluMu = false;

                        return(false);
                    }

                    if (ex is WebDriverTimeoutException)
                    {
                        ChromeDriverSingleton.dosyayaCumleYaz(ChromeDriverSingleton.logDosyasiPath, ilgiliWebSitesi._siteAdi + " sunucusuna ait server giriş işlemi yapılırken " + ChromeDriverSingleton.timeoutDegeri + " saniye içerisinde cevap vermedi.. Hata:" + ex.ToString());

                        ChromeDriverSingleton.dosyayaCumleYaz(ChromeDriverSingleton.hataDosyasiPath, ilgiliWebSitesi._siteAdi + " sunucusuna ait server giriş işlemi yapılırken " + ChromeDriverSingleton.timeoutDegeri + " saniye içerisinde cevap vermedi hata kodu: 102 Hata:" + ex.ToString());

                        ChromeDriverSingleton.kirmiziYaz(ilgiliWebSitesi._siteAdi + " sunucusuna ait server " + ChromeDriverSingleton.timeoutDegeri + " saniye içerisinde cevap vermedi..");

                        epostaMesaji[ChromeDriverSingleton.ePostaSayisi] = "<font color='red'>" + ilgiliWebSitesi._siteAdi + " sunucusuna ait server " + ChromeDriverSingleton.timeoutDegeri + " saniye icerisinde CEVAP VERMEDİ..</font>";

                        ChromeDriverSingleton.ePostaSayisi++;

                        ChromeDriverSingleton.siteCevabiOlumluMu = false;

                        return(false);
                    }

                    else
                    {
                        if (ChromeDriverSingleton.exceptionCountWebSiteleri < 3)
                        {
                            ChromeDriverSingleton.yesilYaz(ilgiliWebSitesi._url + " sitesi exceptiona düştü,giriş deneme sayisi: " + ChromeDriverSingleton.exceptionCountWebSiteleri);

                            ChromeDriverSingleton.exceptionCountWebSiteleri++;
                            ChromeDriverSingleton.kirmiziYaz("Exception. Bir sonraki deneme için 30 saniye bekliyor..");
                            System.Threading.Thread.Sleep(30000);

                            //ChromeDriverSingleton.driver.Quit();
                            //ChromeDriverSingleton.driver = new ChromeDriver();


                            ChromeDriverSingleton.yeniKopyaYarat();



                            ChromeDriverSingleton.getDriverInstance().Url = ilgiliWebSitesi._url;

                            ChromeDriverSingleton.siteCevabiOlumluMu = KullaniciGirisiYap(ChromeDriverSingleton.driver, KullaniciAdi, Sifre, ilgiliWebSitesi, epostaMesaji);

                            if (ChromeDriverSingleton.siteCevabiOlumluMu)
                            {
                                return(true);
                            }
                            else
                            {
                                return(false);
                            }
                        }
                        else
                        {
                            ChromeDriverSingleton.dosyayaCumleYaz(ChromeDriverSingleton.logDosyasiPath, ilgiliWebSitesi._siteAdi + " sunucusuna ait Server'a ulasilamadi.." + "Deneme sayisi: " + ChromeDriverSingleton.exceptionCountWebSiteleri + " Hata:" + ex.ToString());

                            ChromeDriverSingleton.dosyayaCumleYaz(ChromeDriverSingleton.hataDosyasiPath, ilgiliWebSitesi._siteAdi + " sunucusuna ait Server'a ulasilamadi hata kodu: 104 " + "Deneme sayisi: " + ChromeDriverSingleton.exceptionCountWebSiteleri + " Hata:" + ex.ToString());

                            ChromeDriverSingleton.kirmiziYaz(ilgiliWebSitesi._siteAdi + " sunucusuna ait Server'a ulasilamadi.." + " Deneme sayisi: " + ChromeDriverSingleton.exceptionCountWebSiteleri);

                            epostaMesaji[ChromeDriverSingleton.ePostaSayisi] = "<font color='red'>" + ilgiliWebSitesi._siteAdi + " sunucusuna ait SERVER'A ULAŞILAMADI..</font>";

                            ChromeDriverSingleton.ePostaSayisi++;

                            ChromeDriverSingleton.siteCevabiOlumluMu = false;

                            return(false);
                        }
                    }
                }
                else
                {
                    ChromeDriverSingleton.dosyayaCumleYaz(ChromeDriverSingleton.logDosyasiPath, ilgiliWebSitesi._siteAdi + " sitesine girerken internet baglantısı bulunamadi, Lutfen baglantınızı kontrol edin.. Hata: " + ex.ToString());

                    ChromeDriverSingleton.dosyayaCumleYaz(ChromeDriverSingleton.hataDosyasiPath, ilgiliWebSitesi._siteAdi + " sitesine girerken internet baglantısı bulunamadi hata kodu: 105 Hata:" + ex.ToString());

                    ChromeDriverSingleton.kirmiziYaz(ilgiliWebSitesi._siteAdi + " sitesine girerken internet baglantısı bulunamadi, Lutfen baglantınızı kontrol edin..");

                    epostaMesaji[ChromeDriverSingleton.ePostaSayisi] = "<font color='red'>" + ilgiliWebSitesi._siteAdi + " sitesine girerken INTERNET BAGLANTISI BULUNAMADI, Lutfen baglantınızı kontrol edin..</font>";

                    ChromeDriverSingleton.ePostaSayisi++;

                    ChromeDriverSingleton.siteCevabiOlumluMu = false;

                    return(false);
                }
            }
            System.Threading.Thread.Sleep(5000);
            try
            {
                driver.FindElement(By.Id(ilgiliWebSitesi._loginOlduktanSonraBakilacakElement));

                ChromeDriverSingleton.dosyayaCumleYaz(ChromeDriverSingleton.logDosyasiPath, ilgiliWebSitesi._siteAdi + " sitesine giris basarili bir sekilde yapildi..");

                //ChromeDriverSingleton.yesilYaz(ilgiliWebSitesi._siteAdi + " sitesine giris basarili bir sekilde yapildi..");

                //Web sitesinin başarılı olduğu mail'e eklenmek istenirse bu yorum satırları silinebilir.
                // epostaMesaji[ChromeDriverSingleton.ePostaSayisi] = "<font color='green'>" + ilgiliWebSitesi._siteAdi + " sitesine giris basarili bir sekilde yapildi..</font>";

                // ChromeDriverSingleton.ePostaSayisi++;

                ChromeDriverSingleton.siteCevabiOlumluMu = true;
                return(true);
            }

            catch (Exception ex)
            {
                if (ex is TimeoutException)
                {
                    ChromeDriverSingleton.dosyayaCumleYaz(ChromeDriverSingleton.logDosyasiPath, ilgiliWebSitesi._siteAdi + " sunucusuna ait server login olduktan sonra anasayfa elementi aranırken " + ChromeDriverSingleton.timeoutDegeri + " saniye içerisinde cevap vermedi..  Hata:" + ex.ToString());

                    ChromeDriverSingleton.dosyayaCumleYaz(ChromeDriverSingleton.hataDosyasiPath, ilgiliWebSitesi._siteAdi + " sunucusuna ait server login olduktan sonra anasayfa elementi aranırken " + ChromeDriverSingleton.timeoutDegeri + " saniye içerisinde cevap vermedi.. Hata:" + ex.ToString());

                    ChromeDriverSingleton.kirmiziYaz(ilgiliWebSitesi._siteAdi + " sunucusuna ait server login olduktan sonra anasayfa elementi aranırken " + ChromeDriverSingleton.timeoutDegeri + " saniye içerisinde cevap vermedi..");

                    epostaMesaji[ChromeDriverSingleton.ePostaSayisi] = "<font color='red'>" + ilgiliWebSitesi._siteAdi + " sunucusuna ait server login olduktan sonra anasayfa elementi aranırken " + ChromeDriverSingleton.timeoutDegeri + " saniye içerisinde cevap vermedi...</font>";

                    ChromeDriverSingleton.ePostaSayisi++;

                    ChromeDriverSingleton.siteCevabiOlumluMu = false;

                    return(false);
                }

                if (ex is WebDriverTimeoutException)
                {
                    ChromeDriverSingleton.dosyayaCumleYaz(ChromeDriverSingleton.logDosyasiPath, ilgiliWebSitesi._siteAdi + " sunucusuna ait server " + ChromeDriverSingleton.timeoutDegeri + " saniye içerisinde cevap vermedi..  Hata:" + ex.ToString());

                    ChromeDriverSingleton.dosyayaCumleYaz(ChromeDriverSingleton.hataDosyasiPath, ilgiliWebSitesi._siteAdi + " sunucusuna ait server " + ChromeDriverSingleton.timeoutDegeri + " saniye içerisinde cevap vermedi hata kodu: 106 Hata:" + ex.ToString());

                    ChromeDriverSingleton.kirmiziYaz(ilgiliWebSitesi._siteAdi + " sunucusuna ait server " + ChromeDriverSingleton.timeoutDegeri + " saniye içerisinde cevap vermedi..");

                    epostaMesaji[ChromeDriverSingleton.ePostaSayisi] = "<font color='red'>" + ilgiliWebSitesi._siteAdi + " sunucusuna ait server " + ChromeDriverSingleton.timeoutDegeri + " saniye içerisinde CEVAP VERMEDİ..</font>";

                    ChromeDriverSingleton.ePostaSayisi++;

                    ChromeDriverSingleton.siteCevabiOlumluMu = false;

                    return(false);
                }

                if (ChromeDriverSingleton.exceptionLoginSonrasiKontrolCount < 3)
                {
                    ChromeDriverSingleton.yesilYaz(ilgiliWebSitesi._url + " sitesi exceptiona düştü,giriş deneme sayisi: " + ChromeDriverSingleton.exceptionLoginSonrasiKontrolCount);

                    ChromeDriverSingleton.exceptionLoginSonrasiKontrolCount++;
                    ChromeDriverSingleton.kirmiziYaz("Exception. Bir sonraki deneme için 30 saniye bekliyor..");
                    System.Threading.Thread.Sleep(30000);
                    ChromeDriverSingleton.driver.Quit();

                    ChromeDriverSingleton.driver = new ChromeDriver();

                    ChromeDriverSingleton.yeniKopyaYarat();

                    ChromeDriverSingleton.getDriverInstance().Url = ilgiliWebSitesi._url;

                    ChromeDriverSingleton.siteCevabiOlumluMu = KullaniciGirisiYap(ChromeDriverSingleton.driver, KullaniciAdi, Sifre, ilgiliWebSitesi, epostaMesaji);

                    if (ChromeDriverSingleton.siteCevabiOlumluMu)
                    {
                        return(true);
                    }
                    else
                    {
                        return(false);
                    }
                }
                else
                {
                    ChromeDriverSingleton.dosyayaCumleYaz(ChromeDriverSingleton.logDosyasiPath, ilgiliWebSitesi._siteAdi + " sitesine ait server hata mesaji vermistir.. Hata:" + ex.ToString());

                    ChromeDriverSingleton.dosyayaCumleYaz(ChromeDriverSingleton.hataDosyasiPath, ilgiliWebSitesi._siteAdi + " sitesine ait server hata mesaji vermistir hata kodu: 107 Hata:" + ex.ToString());

                    ChromeDriverSingleton.kirmiziYaz(ilgiliWebSitesi._siteAdi + " sitesine ait server hata mesaji vermistir..");

                    epostaMesaji[ChromeDriverSingleton.ePostaSayisi] = "<font color='red'>" + ilgiliWebSitesi._siteAdi + " sitesine ait server HATA mesaji vermistir..</font>";

                    ChromeDriverSingleton.ePostaSayisi++;

                    ChromeDriverSingleton.siteCevabiOlumluMu = false;

                    return(false);
                }
            }
        }