//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); }
//Veritabanına yeni site eklemeye yarayan fonksiyon. public static void yeniSiteEklemeEkrani() { string siteAdi = "", loginOlduktanSonraBakilacakElement = "", kullaniciAdiEtiketi = "", sifreEtiketi = "", errorEtiketi = "", url = "", errorEtiketiIdMi = "", girisEkraniElementiNameMi = "", servisUrl = "", parametre = ""; bool errorEtiketiIdMiBool = false, girisEkraniElementiNameMiBool = false; int sayac = 0; string[] servisUrlleri = new string[500]; Console.WriteLine(); Console.WriteLine("-----YENİ SİTE EKLEME EKRANI-----"); do { Console.WriteLine("Lütfen eklemek istediğiniz sitenin site adını giriniz: (Örn: arlestest.bimar.com)"); siteAdi = Console.ReadLine(); if (String.IsNullOrEmpty(siteAdi)) { Console.WriteLine("site adi kismi bos gecilemez.."); } else { break; } } while (true); do { Console.WriteLine("Lutfen eklemek istediginiz sitenin url adresini giriniz: (Örn: http://arkasairtest.bimar.com)"); url = Console.ReadLine(); if (String.IsNullOrEmpty(url)) { Console.WriteLine("url bos gecilemez.."); } else { break; } } while (true); do { Console.WriteLine("Lütfen eklemek istediğiniz sitenin hangi parametreye bagli oldugunu giriniz: (Örn: arles)"); parametre = Console.ReadLine(); if (String.IsNullOrEmpty(parametre)) { Console.WriteLine("Parametre degeri bos gecilemez.."); } else { break; } } while (true); do { Console.WriteLine("Lütfen eklemek istediğiniz sitenin (name veya Id attribute'unda olmak kaydiyla)! login sayfasindaki kullanici adi etiketini giriniz: (Örn: name=KullaniciAdiTextBox)"); kullaniciAdiEtiketi = Console.ReadLine(); if (String.IsNullOrEmpty(kullaniciAdiEtiketi)) { Console.WriteLine("kullanici adi etiketi bos gecilemez.."); } else { break; } } while (true); do { Console.WriteLine("Lütfen eklemek istediğiniz sitenin (name veya Id attribute'unda olmak kaydiyla)! login sayfasindaki sifre etiketini giriniz: (Örn: name=SifreTextBox)"); sifreEtiketi = Console.ReadLine(); if (String.IsNullOrEmpty(sifreEtiketi)) { Console.WriteLine("sifre etiketi boş geçilemez.."); } else { break; } } while (true); do { Console.WriteLine("Lutfen eklemek istediginiz sitenin giris ekrani(kullanici adi ve sifre textboxlari) elementlerinin hangi özelliginin aranacagının degerini giriniz. (True ise name'de, False is Id'de arama yapar..)! (Örn: 1:true ya da 0:false)"); girisEkraniElementiNameMi = Console.ReadLine(); if (String.IsNullOrEmpty(girisEkraniElementiNameMi)) { Console.WriteLine("bu deger bos gecilemez.."); } else { try { girisEkraniElementiNameMiBool = Convert.ToBoolean(Convert.ToInt32(girisEkraniElementiNameMi)); break; } catch (Exception) { Console.WriteLine("girdiginiz deger tanimlanamadi.. 1 ya da 0 giriniz.."); } } } while (true); do { Console.WriteLine("Lütfen eklemek istediğiniz sitenin (Class veya Id attribute'unda olmak kaydiyla)! login sayfasindaki error etiketini giriniz: (Örn: Id=ErrorInfoLabel)"); errorEtiketi = Console.ReadLine(); if (String.IsNullOrEmpty(errorEtiketi)) { Console.WriteLine("error etiketi bos gecilemez.."); } else { break; } } while (true); do { Console.WriteLine("Lutfen eklemek istediginiz sitenin error etiketinin nerede aranacagının degerini giriniz. True ise Id'de, (False ise Class attribute'unda arama yapar..)! (Örn: 1:true ya da 0:false)"); errorEtiketiIdMi = Console.ReadLine(); if (String.IsNullOrEmpty(errorEtiketiIdMi)) { Console.WriteLine("bu deger bos gecilemez.."); } else { try { errorEtiketiIdMiBool = Convert.ToBoolean(Convert.ToInt32(errorEtiketiIdMi)); break; } catch (Exception) { Console.WriteLine("girdiginiz deger tanimlanamadi.. 1 ya da 0 giriniz.."); } } } while (true); do { Console.WriteLine("Lütfen eklemek istediğiniz sitenin login olduktan sonra bakılacak elementinin (Id'sini)! giriniz: (Örn: id=ctl00_UserInfoLabel)"); loginOlduktanSonraBakilacakElement = Console.ReadLine(); if (String.IsNullOrEmpty(loginOlduktanSonraBakilacakElement)) { Console.WriteLine("login olduktan sonra bakilacak element bos gecilemez.."); } else { break; } } while (true); do { Console.WriteLine("Lütfen " + siteAdi + " sitesine ait olan web servis urllerini giriniz: (Örn: http://34istmustestapp:8489/)"); Console.WriteLine("Url girisini bitirmek için 0'a basınız.."); servisUrl = Console.ReadLine(); if (String.IsNullOrEmpty(servisUrl)) { Console.WriteLine("Servis url'i degeri bos gecilemez.."); } else { try { if (servisUrl.Equals("0")) { break; } if (sayac == 500) { Console.WriteLine("Maximum url eklenme islemine ulasilmistir.."); break; } servisUrlleri[sayac] = servisUrl; sayac++; Console.WriteLine("Eklemek icin url girisine devam edin, girisi bitirmek icin 0'a basınız.."); } catch (Exception) { Console.WriteLine("Servis url'i degeri tanimlanamadi.."); } } } while (true); sayac = 0; if (Fonksiyonlar.sqliteVeritabanim.SQLiteVeritabaninaVeriEkle(new WebSitesi(Fonksiyonlar.WebSiteleri.Count, siteAdi, loginOlduktanSonraBakilacakElement, kullaniciAdiEtiketi, sifreEtiketi, errorEtiketi, url, errorEtiketiIdMiBool, girisEkraniElementiNameMiBool, servisUrlleri, parametre))) { ChromeDriverSingleton.dosyayaCumleYaz(ChromeDriverSingleton.logDosyasiPath, siteAdi + " Web Sitesinin SQLite veritabanina eklenmesi islemi basariyla yapilmistir.."); ChromeDriverSingleton.yesilYaz(siteAdi + " Web Sitesinin SQLite veritabanina eklenmesi islemi basariyla yapilmistir.."); } else { ChromeDriverSingleton.dosyayaCumleYaz(ChromeDriverSingleton.logDosyasiPath, siteAdi + " Web Sitesinin SQLite veritabanina eklenmesi islemi basarisiz olmustur.."); ChromeDriverSingleton.kirmiziYaz(siteAdi + " Web Sitesinin SQLite veritabanina eklenmesi islemi basarisiz olmustur.."); } }
//Veritabanındaki var olan siteyi silmeye yarayan fonskyion. public static void varOlanSiteyiSil() { string alinanId = ""; int id = 0; Console.WriteLine(); Console.WriteLine("-----VAR OLAN SITEYI SILME EKRANI-----"); varOlanSiteleriGoruntule(); Console.WriteLine(); do { Console.WriteLine("Lütfen silmek istediginiz sitenin Id'sini giriniz.."); alinanId = Console.ReadLine(); if (string.IsNullOrEmpty(alinanId)) { Console.WriteLine("Lutfen gecerli bir id numarasi giriniz.."); } else { try { id = Convert.ToInt32(alinanId); if (Fonksiyonlar.sqliteVeritabanim.idDegeriVarMi(id)) { break; } else { Console.WriteLine(id + " idli item veritabaninda bulunmamaktadir.."); } } catch (Exception) { Console.WriteLine("Lütfen gecerli bir id numarasi giriniz.."); } } } while (true); if (Fonksiyonlar.sqliteVeritabanim.idDegeriVarMi(id)) { if (Fonksiyonlar.sqliteVeritabanim.SQLiteVeritabanindanVeriSil(id)) { ChromeDriverSingleton.dosyayaCumleYaz(ChromeDriverSingleton.logDosyasiPath, id + " Id'li item basariyla silinmistir.."); ChromeDriverSingleton.yesilYaz(id + " Id'li item basariyla silinmistir.."); } else { ChromeDriverSingleton.dosyayaCumleYaz(ChromeDriverSingleton.logDosyasiPath, id + " Id'li item silinememistir.."); ChromeDriverSingleton.kirmiziYaz(id + " Id'li item silinememistir.."); } } else { ChromeDriverSingleton.dosyayaCumleYaz(ChromeDriverSingleton.logDosyasiPath, id + " idli item veritabaninda bulunmamaktadir.."); ChromeDriverSingleton.griYaz(id + " idli item veritabaninda bulunmamaktadir.."); } }
//Var olan sitenin bilgilerini guncelleyen fonksiyon. public static void VarOlanSiteninBilgileriniGuncelle() { string alinanId = "", alinanDeger = "", boolDeger = "", alinanDegerinDegeri = "", servisUrl = "", alinanParametreninAdi = ""; bool booleanDegerim = false; int id = 0, sayac = 0, menudenSecilen = 0; string[] servisUrlleri = new string[500]; Console.WriteLine(); Console.WriteLine("-----VAR OLAN SITENIN BILGILERINI GUNCELLEME EKRANI-----"); varOlanSiteleriGoruntule(); Console.WriteLine(); do { Console.WriteLine("Lutfen bilgilerini duzenlemek istediginiz sitenin Id'sini giriniz.."); alinanId = Console.ReadLine(); if (string.IsNullOrEmpty(alinanId)) { Console.WriteLine("Id numarasi bos gecilemez.."); } else { try { id = Convert.ToInt32(alinanId); if (Fonksiyonlar.sqliteVeritabanim.idDegeriVarMi(id)) { break; } else { Console.WriteLine(id + " idli item veritabaninda bulunmamaktadir.."); } } catch (Exception) { Console.WriteLine("Lutfen gecerli bir id numarasi giriniz.."); } } } while (true); do { Console.WriteLine("Lutfen degistirilmek istenen parametrenin numarasini giriniz:"); Console.WriteLine("1). siteAdi"); Console.WriteLine("2). loginOlduktanSonraBakilacakElement"); Console.WriteLine("3). kullaniciAdiEtiketi"); Console.WriteLine("4). sifreEtiketi"); Console.WriteLine("5). errorEtiketi"); Console.WriteLine("6). url"); Console.WriteLine("7). errorEtiketiIdMi"); Console.WriteLine("8). girisEkraniElementiNameMi"); Console.WriteLine("9). servisUrlleri"); Console.WriteLine("10).parametre"); alinanDeger = Console.ReadLine(); if (string.IsNullOrEmpty(alinanDeger)) { Console.WriteLine("Degistirilmek istenen parametre degeri bos gecilemez.."); } else { try { menudenSecilen = Convert.ToInt32(alinanDeger); if (menudenSecilen == 1 || menudenSecilen == 2 || menudenSecilen == 3 || menudenSecilen == 4 || menudenSecilen == 5 || menudenSecilen == 6 || menudenSecilen == 7 || menudenSecilen == 8 || menudenSecilen == 9 || menudenSecilen == 10) { break; } else { Console.WriteLine("Lutfen menudeki rakamlardan bir tanesini seciniz.."); } } catch (Exception) { Console.WriteLine("Lutfen gecerli bir menu numarasi giriniz.."); } } } while (true); //Menuden secilen parametrenin adini girmektedir.. alinanParametreninAdi = parametreIsmiAl(menudenSecilen); if (menudenSecilen == 7 || menudenSecilen == 8) { do { Console.WriteLine(alinanParametreninAdi + " degerine eklemek istediginiz bool degeri giriniz.. (Orn: 1:true ya da 0:false):"); boolDeger = Console.ReadLine(); if (String.IsNullOrEmpty(boolDeger)) { Console.WriteLine("bool degeri bos gecilemez.."); } else { try { booleanDegerim = Convert.ToBoolean(Convert.ToInt32(boolDeger)); break; } catch (Exception) { Console.WriteLine(alinanDeger + " degeri tanimlanamadi.. 1 ya da 0 giriniz.."); } } } while (true); if (Fonksiyonlar.sqliteVeritabanim.SQLiteVeritabanindakiVeriyiDüzelt(id, alinanParametreninAdi, booleanDegerim)) { ChromeDriverSingleton.dosyayaCumleYaz(ChromeDriverSingleton.logDosyasiPath, id + " id numarali + " + alinanParametreninAdi + " degeri basarili bir sekilde guncellenmistir.."); ChromeDriverSingleton.yesilYaz("Guncelleme islemi basarili bir sekilde yapilmistir.."); } else { ChromeDriverSingleton.dosyayaCumleYaz(ChromeDriverSingleton.logDosyasiPath, id + " id numarali + " + alinanParametreninAdi + " degeri guncellenememistir.."); ChromeDriverSingleton.kirmiziYaz("Guncelleme islemi basarisiz olmustur.."); } } else if (menudenSecilen == 9) { do { Console.WriteLine(alinanParametreninAdi + " ait olan verileri giriniz: (Örn: http://34istmustestapp:8489/)"); Console.WriteLine("Url girisini bitirmek için 0'a basınız.."); servisUrl = Console.ReadLine(); if (String.IsNullOrEmpty(servisUrl)) { Console.WriteLine("Servis url'i değeri boş geçilemez.."); } else { try { if (servisUrl.Equals("0")) { break; } if (sayac == 500) { Console.WriteLine("Url ekleme maximum sayiya ulasmistir.."); Console.WriteLine("Su ana kadar eklenen urller kaydedilmistir.."); } servisUrlleri[sayac] = servisUrl; sayac++; Console.WriteLine("Eklemek icin url girisine devam edin, girisi bitirmek icin 0'a basınız.."); } catch (Exception) { Console.WriteLine("Servis url'i degeri tanimlanamadi.."); } } } while (true); sayac = 0; if (Fonksiyonlar.sqliteVeritabanim.SQLiteVeritabanindakiVeriyiDüzelt(id, servisUrlleri)) { ChromeDriverSingleton.dosyayaCumleYaz(ChromeDriverSingleton.logDosyasiPath, id + " id numarali web sitesinin servis Urlleri degeri basarili bir sekilde guncellenmistir.."); ChromeDriverSingleton.yesilYaz("Guncelleme islemi basarili bir sekilde yapilmistir.."); } else { ChromeDriverSingleton.dosyayaCumleYaz(ChromeDriverSingleton.logDosyasiPath, id + " id numarali web sitesinin servis Urlleri degeri guncellenememistir.."); ChromeDriverSingleton.kirmiziYaz("Guncelleme islemi basarisiz bir sekilde tamamlanmistir.."); } } else { do { Console.WriteLine(alinanDeger + " verisinin degerini giriniz: "); alinanDegerinDegeri = Console.ReadLine(); if (String.IsNullOrEmpty(alinanDegerinDegeri)) { Console.WriteLine(alinanDeger + " bos gecilemez.."); } else { break; } } while (true); if (Fonksiyonlar.sqliteVeritabanim.SQLiteVeritabanindakiVeriyiDüzelt(id, alinanParametreninAdi, alinanDegerinDegeri)) { ChromeDriverSingleton.dosyayaCumleYaz(ChromeDriverSingleton.logDosyasiPath, id + " id numarali web sitesinin " + alinanParametreninAdi + " degeri basarili bir sekilde guncellenmistir.."); ChromeDriverSingleton.yesilYaz("Guncelleme islemi basarili bir sekilde yapilmistir.."); } else { ChromeDriverSingleton.dosyayaCumleYaz(ChromeDriverSingleton.logDosyasiPath, id + " id numarali web sitesinin " + alinanParametreninAdi + " degeri guncellenememistir.."); ChromeDriverSingleton.kirmiziYaz("Guncelleme islemi basarisiz bir sekilde tamamlanmistir.."); } } }
//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); } } }
//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); } } }