//Bir sitenin servis urllerini kontrol eden fonksiyon. public static void servisUrlleriniKontrolEt(WebSitesi ilgiliWebSitesi, string[] epostaMesaji) { if (ilgiliWebSitesi._servisUrlleri != null) { for (int i = 0; i < ilgiliWebSitesi._servisUrlleri.Length; i++) { if (!string.IsNullOrEmpty(ilgiliWebSitesi._servisUrlleri[i])) { ChromeDriverSingleton.yesilYaz("-"); ChromeDriverSingleton.result = HttpStatusCode.NotFound; SiteCevabi = UrlStatusCodeAl(ilgiliWebSitesi._servisUrlleri[i]); ChromeDriverSingleton.exceptionCountServisUrlleriSifirla(); if (!(Convert.ToString(SiteCevabi).Equals("OK"))) { ChromeDriverSingleton.dosyayaCumleYaz(ChromeDriverSingleton.logDosyasiPath, ilgiliWebSitesi._siteAdi + " sitesine ait " + ilgiliWebSitesi._servisUrlleri[i] + " web servisi hata mesaji vermistir ve hata: " + SiteCevabi); ChromeDriverSingleton.dosyayaCumleYaz(ChromeDriverSingleton.hataDosyasiPath, ilgiliWebSitesi._servisUrlleri[i] + " web servisi hata mesaji vermistir ve hata: " + SiteCevabi + " hata kodu: 110"); ChromeDriverSingleton.kirmiziYaz(ilgiliWebSitesi._siteAdi + " sitesine ait " + ilgiliWebSitesi._servisUrlleri[i] + " web servisi hata mesaji vermistir ve hata: " + SiteCevabi); epostaMesaji[ChromeDriverSingleton.ePostaSayisi] = "<font color='red'>" + ilgiliWebSitesi._siteAdi + " sitesine ait " + ilgiliWebSitesi._servisUrlleri[i] + " web servisi HATA mesaji vermistir ve hata: " + SiteCevabi + "</font>"; ChromeDriverSingleton.ePostaSayisi++; } else { ChromeDriverSingleton.dosyayaCumleYaz(ChromeDriverSingleton.logDosyasiPath, ilgiliWebSitesi._siteAdi + " sitesine ait " + ilgiliWebSitesi._servisUrlleri[i] + " web servisi basarili calismaktadir.."); // ChromeDriverSingleton.yesilYaz(ilgiliWebSitesi._siteAdi + " sitesine ait " + ilgiliWebSitesi._servisUrlleri[i] + " web servisi basarili calismaktadir.."); //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 ait " + ilgiliWebSitesi._servisUrlleri[i] + " web servisi basarili calismaktadir..</font>"; // ChromeDriverSingleton.ePostaSayisi++; } } else { break; } } } }
//İlgili url'in status kodunu alan fonksiyon. public static HttpStatusCode UrlStatusCodeAl(string url) { try { var request = HttpWebRequest.Create(url); request.Method = "GET"; using (var response = request.GetResponse() as HttpWebResponse) { if (response != null) { ChromeDriverSingleton.result = response.StatusCode; response.Close(); } } } catch (WebException ex) { if (ChromeDriverSingleton.exceptionCountServisUrlleri < 3) { ChromeDriverSingleton.kirmiziYaz("Exception. Bir sonraki deneme için 30 saniye bekliyor.."); ChromeDriverSingleton.yesilYaz(url + " Http status exceptiona düştü. Deneme sayisi: " + (ChromeDriverSingleton.exceptionCountServisUrlleri + 1)); System.Threading.Thread.Sleep(30000); ChromeDriverSingleton.exceptionCountServisUrlleri++; ChromeDriverSingleton.result = UrlStatusCodeAl(url); } else { ChromeDriverSingleton.kirmiziYaz("Web servisi 3 denemenin ardından cevap vermedi.. : " + ChromeDriverSingleton.exceptionCountServisUrlleri); ChromeDriverSingleton.exceptionCountServisUrlleriSifirla(); ChromeDriverSingleton.dosyayaCumleYaz(ChromeDriverSingleton.hataDosyasiPath, url + " url degerine sahip site su hata mesajını vermiştir: " + ex.ToString()); ChromeDriverSingleton.dosyayaCumleYaz(ChromeDriverSingleton.logDosyasiPath, url + " url degerine sahip site su hata mesajını vermiştir: " + ex.ToString()); } } return(ChromeDriverSingleton.result); }
//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); } } }