//Sqlite veritabanındaki veriyi düzeltmeyi sağlayan fonksiyon. public bool SQLiteVeritabanindakiVeriyiDüzelt(int ID, string duzenlenecekParametre, string duzenlenecekParametreninDegeri) { try { string sql = "UPDATE webSiteleri SET " + duzenlenecekParametre + "=@duzenlenecekParametreninDegeri WHERE ID = @ID"; SQLiteParameter prm2 = new SQLiteParameter("duzenlenecekParametreninDegeri", duzenlenecekParametreninDegeri); SQLiteParameter prm3 = new SQLiteParameter("ID", ID); SqlCommand = sorguCommentiniGetir(sql, SqliteConnection); SqlCommand.Parameters.Add(prm2); SqlCommand.Parameters.Add(prm3); SqlCommand.ExecuteNonQuery(); VeritabaniBaglantisiniKes(); return(true); } catch (Exception ex) { ChromeDriverSingleton.dosyayaCumleYaz(ChromeDriverSingleton.logDosyasiPath, "Veri tabaninda, " + ID + " id'li internet sitesi degerine ait olan " + duzenlenecekParametre + " degeri düzeltilememistir.. Hata: " + ex.ToString()); ChromeDriverSingleton.kirmiziYaz("Veri tabaninda, " + duzenlenecekParametre + " degeri düzeltilememistir.. Hata: " + ex.ToString()); return(false); } }
//Gelen argüman ile test etmeye yarayan fonksiyon. public static void argumanIleTestEt(string parametreAdi) { try { ChromeDriverSingleton.parametreIleMiGeldi = true; sqliteVeritabanim.parametreAdinaGoreDegerleriAl(parametreAdi); for (int i = 0; i < WebSiteleri.Count; i++) { LoginIslemiYap(WebSiteleri.ElementAt(i)._siteAdi); ChromeDriverSingleton.dosyayaCumleYaz(ChromeDriverSingleton.logDosyasiPath, WebSiteleri.ElementAt(i)._siteAdi + " basarili bir sekilde test edildi."); //ChromeDriverSingleton.yesilYaz(WebSiteleri.ElementAt(i)._siteAdi + " basarili bir sekilde test edildi."); } //, "*****@*****.**", "*****@*****.**", "*****@*****.**" , "*****@*****.**", "*****@*****.**" Fonksiyonlar.EpostaHazırla("*****@*****.**", new string[] { "*****@*****.**", "*****@*****.**", "*****@*****.**" }, "Login Kontrol Sonuçları", "Login işlemi sonucu hata mesajları:", ChromeDriverSingleton.epostaMesaji, ""); } catch (Exception ex) { ChromeDriverSingleton.dosyayaCumleYaz(ChromeDriverSingleton.hataDosyasiPath, "Batch dosya Parametresi ile web siteleri denenirken bir problem oluştu: " + ex.ToString()); ChromeDriverSingleton.dosyayaCumleYaz(ChromeDriverSingleton.logDosyasiPath, "Batch dosya Parametresi ile web siteleri denenirken bir problem oluştu: " + ex.ToString()); } }
static void Main(string[] args) { ChromeDriverSingleton.eskiAyaAitDosyalariSil(1); ChromeDriverSingleton.ePostaArrayiOlustur(); if (args.Length == 0) { //Argüman yoksa menu ekranına yönlendirir. Menu.MenuEkrani(); } else if (args[0].Equals("hepsi")) { Fonksiyonlar.argumanIleTestEt(""); ChromeDriverSingleton.getDriverInstance().Quit(); return; } else if (args[0].Contains(".com")) { Fonksiyonlar.argumanIleTestEt(args[0]); ChromeDriverSingleton.getDriverInstance().Quit(); return; } else { Fonksiyonlar.argumanIleTestEt(args[0]); ChromeDriverSingleton.getDriverInstance().Quit(); return; } }
//İlgili dosyaya ilgili cümleyi yazan fonksiyon. public static bool dosyayaCumleYaz(string filePath, string dosyayaYazilacakCumle) { string dosyaAdi = ""; CultureInfo turkiye = CultureInfo.GetCultureInfo("tr-TR"); String tarihSaat = DateTime.Now.ToString(turkiye); try { if (filePath == hataDosyasiPath) { dosyaAdi = DateTime.Today.ToShortDateString(); File.AppendAllText(filePath + "\\" + dosyaAdi + ".txt", "[ " + tarihSaat + " ] " + dosyayaYazilacakCumle + Environment.NewLine); } else { File.AppendAllText(filePath, "[ " + tarihSaat + " ] " + dosyayaYazilacakCumle + Environment.NewLine); } return(true); } catch (Exception ex) { ChromeDriverSingleton.dosyayaCumleYaz(ChromeDriverSingleton.logDosyasiPath, "Log dosyasi olusturulurken hata meydana geldi.. Hata:" + ex.ToString()); Console.WriteLine("Dosya olusturulamadi.."); return(false); } }
//Veritabanındaki servis urlleri değerlerini düzenlemeyi sağlayan fonksiyon. public bool SQLiteVeritabanindakiVeriyiDüzelt(int id, string[] servisUrlleri) { try { string silmeSqliSorgusu = "DELETE FROM servisUrlleri WHERE ID = @ID"; string servisUrliEklemeSorgusu = "INSERT INTO servisUrlleri VALUES (@ID, @servisUrli)"; SqlCommand = sorguCommentiniGetir(silmeSqliSorgusu, SqliteConnection); if (SqlCommand != null) { SQLiteParameter prm = new SQLiteParameter("ID", id); SqlCommand.Parameters.Add(prm); SqlCommand.ExecuteNonQuery(); VeritabaniBaglantisiniKes(); } if (!(string.IsNullOrEmpty(servisUrlleri[0])) && servisUrlleri != null) { for (int i = 0; i < servisUrlleri.Length; i++) { if (!(string.IsNullOrEmpty(servisUrlleri[i]))) { SqlCommand = sorguCommentiniGetir(servisUrliEklemeSorgusu, SqliteConnection); SQLiteParameter prm = new SQLiteParameter("ID", id); SQLiteParameter prm2 = new SQLiteParameter("servisUrli", servisUrlleri[i]); SqlCommand.Parameters.Add(prm); SqlCommand.Parameters.Add(prm2); SqlCommand.ExecuteNonQuery(); VeritabaniBaglantisiniKes(); } else { break; } } } else { Console.WriteLine("Duzenlenecek parametre girisi yapilmamis.."); } return(true); } catch (Exception ex) { ChromeDriverSingleton.dosyayaCumleYaz(ChromeDriverSingleton.logDosyasiPath, "Veritabaninda, " + id + " id degerine sahip olan servisUrlleri degeri düzeltilememistir.. Hata: " + ex.ToString()); ChromeDriverSingleton.kirmiziYaz("Veritabaninda, servisUrlleri degeri düzeltilememistir.. Hata: " + ex.ToString()); return(false); } }
//İlgili sorguya ait web sitesi url değerlerini getirmeyi sağlayan fonksiyon. public DataTable ilgiliSorguyaDairWebSitesiUrlDegerleriniGetir(string sqlSorgusu) { try { if (DataTable[1] != null) { DataTable[1].Clear(); } else { DataTable[1] = new DataTable(); } SqlCommand = sorguCommentiniGetir(sqlSorgusu, SqliteConnection); if (SqlCommand != null) { dataAdapter = sqliteDataAdapterYarat(SqlCommand); dataAdapter = sqliteDataAdapterYarat(SqlCommand); if (dataAdapter != null) { dataAdapter.Fill(DataTable[1]); } else { ChromeDriverSingleton.dosyayaCumleYaz(ChromeDriverSingleton.logDosyasiPath, "Web sitesi servis urllerine ait veritabani tarafinda dataAdapter olusturulamadi.."); ChromeDriverSingleton.kirmiziYaz("Web sitesi servis urllerine ait veritabani tarafinda dataAdapter olusturulamadi.."); } } else { ChromeDriverSingleton.dosyayaCumleYaz(ChromeDriverSingleton.logDosyasiPath, "Web sitesi servis urllerine ait veriler okunamadi.."); ChromeDriverSingleton.kirmiziYaz("Web sitesi servis urllerine ait veriler okunamadi.."); } if (VeritabaniBaglantisiniKes()) { return(DataTable[1]); } else { return(null); } } catch (Exception ex) { ChromeDriverSingleton.dosyayaCumleYaz(ChromeDriverSingleton.logDosyasiPath, sqlSorgusu + " sorgusuna ait veri bulunamadi.. Hata:" + ex.ToString()); ChromeDriverSingleton.griYaz(sqlSorgusu + " sorgusuna ait veri bulunamadi.. Hata: " + ex.ToString()); return(null); } }
//DataAdapter yaratmaya yarayan fonksiyon. public SQLiteDataAdapter sqliteDataAdapterYarat(SQLiteCommand gelenCommand) { try { return(new SQLiteDataAdapter(gelenCommand)); } catch (Exception ex) { ChromeDriverSingleton.dosyayaCumleYaz(ChromeDriverSingleton.logDosyasiPath, "SqliteDataAdapter yaratilamadi.. Hata: " + ex.ToString()); ChromeDriverSingleton.kirmiziYaz("SqliteDataAdapter yaratilamadi.."); return(null); } }
//Veritabanı bağlantısını kesmeye yarayan fonksiyon. public bool VeritabaniBaglantisiniKes() { try { SqliteConnection.Close(); return(true); } catch (Exception ex) { ChromeDriverSingleton.dosyayaCumleYaz(ChromeDriverSingleton.logDosyasiPath, "Veritabani baglantisi sonlandirilamadi.. Hata: " + ex.ToString()); ChromeDriverSingleton.kirmiziYaz("Veritabani baglantisi sonlandirilamadi.."); return(false); } }
//Veritabanı değerlerini listeye atayan fonksiyon. public bool veritabaniDegerleriniListeyeAta() { try { TumVerileriGetir(); return(dataTabledakiDegerleriListeyeAta()); } catch (Exception ex) { ChromeDriverSingleton.dosyayaCumleYaz(ChromeDriverSingleton.logDosyasiPath, "Web siteleri SQLitedan atanırken bir problem olustu.. Hata: " + ex.ToString()); ChromeDriverSingleton.kirmiziYaz("Web siteleri SQLitedan atanırken bir problem olustu.. Hata: " + ex.ToString()); return(false); } }
//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ında verilen id'li değerin olup olmadığını sorgulayan fonksiyon. public bool idDegeriVarMi(int ID) { try { if (DataTable[0] != null) { DataTable[0].Clear(); } else { DataTable[0] = new DataTable(); } SqlCommand = sorguCommentiniGetir("SELECT * FROM webSiteleri WHERE ID=@ID", SqliteConnection); SQLiteParameter prm1 = new SQLiteParameter("ID", ID); SqlCommand.Parameters.Add(prm1); dataAdapter = sqliteDataAdapterYarat(SqlCommand); dataAdapter.Fill(DataTable[0]); VeritabaniBaglantisiniKes(); if (DataTable[0].Rows.Count > 0) { return(true); } else { return(false); } } catch (Exception ex) { ChromeDriverSingleton.dosyayaCumleYaz(ChromeDriverSingleton.logDosyasiPath, " Veritabanından datalar çekilirken hata meydana geldi.. Hata: " + ex.ToString()); ChromeDriverSingleton.griYaz(" Veritabanından datalar çekilirken hata meydana geldi.. Hata: " + ex.ToString()); return(false); } }
//Sorgu commentini getirmeye yarayan fonksiyon. public SQLiteCommand sorguCommentiniGetir(string sqlSorgusu, SQLiteConnection baglan) { try { if (VeritabaninaBaglan()) { return(new SQLiteCommand(sqlSorgusu, baglan)); } else { ChromeDriverSingleton.dosyayaCumleYaz(ChromeDriverSingleton.logDosyasiPath, "SQLiteCommand olusturulamadi.."); ChromeDriverSingleton.kirmiziYaz("SQLiteCommand olusturulamadi.."); return(null); } } catch (Exception ex) { ChromeDriverSingleton.dosyayaCumleYaz(ChromeDriverSingleton.logDosyasiPath, "SQLiteCommand olusturulamadi.. Hata: " + ex.ToString()); ChromeDriverSingleton.kirmiziYaz("SQLiteCommand oluşturulamadi.."); return(null); } }
//Sqlite veritabanından veri silmeyi sağlayan fonksiyon. public bool SQLiteVeritabanindanVeriSil(int ID) { try { string webSitesiSql = "DELETE FROM webSiteleri WHERE ID = @ID;"; SQLiteParameter prm1 = new SQLiteParameter("ID", ID); SqlCommand = sorguCommentiniGetir(webSitesiSql, SqliteConnection); SqlCommand.Parameters.Add(prm1); SqlCommand.ExecuteNonQuery(); VeritabaniBaglantisiniKes(); string webSitesiServisUrlSql = "DELETE FROM servisUrlleri WHERE ID = @ID;"; SQLiteParameter prm2 = new SQLiteParameter("ID", ID); SqlCommand = sorguCommentiniGetir(webSitesiServisUrlSql, SqliteConnection); SqlCommand.Parameters.Add(prm2); SqlCommand.ExecuteNonQuery(); VeritabaniBaglantisiniKes(); return(true); } catch (Exception ex) { ChromeDriverSingleton.dosyayaCumleYaz(ChromeDriverSingleton.logDosyasiPath, "SQLite veritabanindan veri silinirken bir problem oluştu.. Hata: " + ex.ToString()); ChromeDriverSingleton.kirmiziYaz("SQLite veritabanindan veri silinirken bir problem oluştu.. Hata: " + ex.ToString()); return(false); } }
//İlgili sorguyu çalıştırmayı sağlayan fonksiyon. public bool IlgiliSorguyuCalistir(string sqlSorgusu) { try { SqlCommand = sorguCommentiniGetir(sqlSorgusu, SqliteConnection); SqlCommand.ExecuteNonQuery(); if (VeritabaniBaglantisiniKes()) { return(true); } else { return(false); } } catch (Exception ex) { ChromeDriverSingleton.dosyayaCumleYaz(ChromeDriverSingleton.logDosyasiPath, sqlSorgusu + " SQLite tarafindan calistirilamadi.. Hata: " + ex.ToString()); ChromeDriverSingleton.kirmiziYaz(sqlSorgusu + " SQLite tarafindan calistirilamadi.. Hata: " + ex.ToString()); return(false); } }
//Veritabanına bağlanmayı sağlayan fonksiyon. public bool VeritabaninaBaglan() { try { SqliteConnection.ConnectionString = connectionString; SqliteConnection.Open(); return(true); } catch (Exception) { try { SqliteConnection = new SQLiteConnection(); SqliteConnection.ConnectionString = connectionString; return(true); } catch (Exception ex) { ChromeDriverSingleton.dosyayaCumleYaz(ChromeDriverSingleton.logDosyasiPath, "SQLite baglantisi kurulamadi.. Hata:" + ex.ToString()); ChromeDriverSingleton.kirmiziYaz("SQLite baglantisi kurulamadi.."); return(false); } } }
//İnternet bağlantısının olup olmadığını kontrol eden fonksiyon. public static bool InternetBaglantisiVarMi() { /* * try * { * using (var client = new WebClient()) * { * using (client.OpenRead("https://www.bing.com/")) * { * return true; * } * } * } * catch(Exception ex) * { * ChromeDriverSingleton.dosyayaCumleYaz(ChromeDriverSingleton.logDosyasiPath, "Program internet baglantisini kontrol ederken hata mesaji vermistir.. Hata:" + ex.ToString()); * * ChromeDriverSingleton.dosyayaCumleYaz(ChromeDriverSingleton.hataDosyasiPath, "Program internet baglantisini kontrol ederken hata mesaji vermistir.. Hata:" + ex.ToString()); * * return false; * } */ if (ChromeDriverSingleton.InternetAvailability.IsInternetAvailable()) { return(true); } else { ChromeDriverSingleton.dosyayaCumleYaz(ChromeDriverSingleton.logDosyasiPath, "Program internet baglantisini kontrol ederken hata mesaji vermistir.."); ChromeDriverSingleton.dosyayaCumleYaz(ChromeDriverSingleton.hataDosyasiPath, "Program internet baglantisini kontrol ederken hata mesaji vermistir.."); return(false); } }
//Veritabanındaki tüm verileri getirmeyi sağlayan fonksiyon. public void TumVerileriGetir() { try { if (DataTable[0] != null) { DataTable[0].Clear(); } else { DataTable[0] = new DataTable(); } if (DataTable[1] != null) { DataTable[1].Clear(); } else { DataTable[1] = new DataTable(); } SqlCommand = sorguCommentiniGetir("SELECT * FROM webSiteleri", SqliteConnection); if (SqlCommand != null) { dataAdapter = sqliteDataAdapterYarat(SqlCommand); if (dataAdapter != null) { dataAdapter.Fill(DataTable[0]); } else { Console.WriteLine("Web Sitelerine ait veritabani tarafinda dataAdapter oluşturulamadi.."); } } else { Console.WriteLine("Web sitelerine ait veriler okunamadi.."); } SqlCommand = sorguCommentiniGetir("SELECT * FROM servisUrlleri", SqliteConnection); if (SqlCommand != null) { dataAdapter = sqliteDataAdapterYarat(SqlCommand); if (dataAdapter != null) { dataAdapter.Fill(DataTable[1]); } else { Console.WriteLine("Web sitesi servis urllerine ait veritabani tarafinda dataAdapter olusturulamadi.."); } } else { Console.WriteLine("Web sitesi servis urllerine ait veriler okunamadi.."); } VeritabaniBaglantisiniKes(); } catch (Exception ex) { ChromeDriverSingleton.dosyayaCumleYaz(ChromeDriverSingleton.logDosyasiPath, "SELECT * FROM webSiteleri sorgusuna ait dataTable bulunamadi.. Hata: " + ex.ToString()); } }
//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.."); } }
//Menu ekranından alınan değerin kullanıldığı fonksiyon. public static void islemEkrani(string alinanDeger) { try { if (alinanDeger.Equals("1")) { //Var olan siteleri görüntüler.. Console.WriteLine(); //Fonksiyonlar.ds.getDriverInstance().Manage().Window.Minimize(); //ChromeDriverSingleton.getDriverInstance().Manage().Timeouts().PageLoad = TimeSpan.FromSeconds(50); //Web sitesi değerlerini sqlite'dan alan fonksiyon.. Fonksiyonlar.sqliteVeritabanim.veritabaniDegerleriniListeyeAta(); varOlanSiteleriGoruntule(); Fonksiyonlar.sqliteVeritabanim.veritabaniDegerleriniListeyeAta(); MenuEkrani(); } else if (alinanDeger.Equals("2")) { //Fonksiyonlar.ds.getDriverInstance().Manage().Window.Minimize(); //ChromeDriverSingleton.getDriverInstance().Manage().Timeouts().PageLoad = TimeSpan.FromSeconds(50); //Web sitesi değerlerini sqlite'dan alan fonksiyon.. Fonksiyonlar.sqliteVeritabanim.veritabaniDegerleriniListeyeAta(); // Yeni site eklemesi yapar.. yeniSiteEklemeEkrani(); Fonksiyonlar.sqliteVeritabanim.veritabaniDegerleriniListeyeAta(); MenuEkrani(); } else if (alinanDeger.Equals("3")) { //Fonksiyonlar.ds.getDriverInstance().Manage().Window.Minimize(); //ChromeDriverSingleton.getDriverInstance().Manage().Timeouts().PageLoad = TimeSpan.FromSeconds(50); //Web sitesi değerlerini sqlite'dan alan fonksiyon.. Fonksiyonlar.sqliteVeritabanim.veritabaniDegerleriniListeyeAta(); //Var olan siteyi siler.. varOlanSiteyiSil(); Fonksiyonlar.sqliteVeritabanim.veritabaniDegerleriniListeyeAta(); MenuEkrani(); } else if (alinanDeger.Equals("4")) { //Fonksiyonlar.ds.getDriverInstance().Manage().Window.Minimize(); //ChromeDriverSingleton.getDriverInstance().Manage().Timeouts().PageLoad = TimeSpan.FromSeconds(50); //Web sitesi değerlerini sqlite'dan alan fonksiyon.. Fonksiyonlar.sqliteVeritabanim.veritabaniDegerleriniListeyeAta(); //Var olan sitenin bilgilerini günceller.. VarOlanSiteninBilgileriniGuncelle(); Fonksiyonlar.sqliteVeritabanim.veritabaniDegerleriniListeyeAta(); MenuEkrani(); } else if (alinanDeger.Equals("5")) { //Fonksiyonlar.ds.getDriverInstance().Manage().Window.Minimize(); ChromeDriverSingleton.getDriverInstance().Manage().Timeouts().PageLoad = TimeSpan.FromSeconds(50); //Web sitesi değerlerini sqlite'dan alan fonksiyon.. Fonksiyonlar.sqliteVeritabanim.veritabaniDegerleriniListeyeAta(); Fonksiyonlar.GirisEkrani(); } else if (alinanDeger.Equals("6")) { ChromeDriverSingleton.getDriverInstance().Quit(); return; } else { Console.WriteLine("Hatali giris yaptiniz lutfen tekrar giris yapiniz.."); MenuEkrani(); } } catch (Exception ex) { ChromeDriverSingleton.dosyayaCumleYaz(ChromeDriverSingleton.logDosyasiPath, "Menu ekranında hata meydana geldi.. Hata:" + ex.ToString()); } }
//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.."); } } }
//Alınan hata mesajlarına göre e-posta hazırlayıp gönderen fonksiyon. public static void EpostaHazırla(string gonderenMail, string[] gonderilecekMail, string konu, string icerik, string[] epostaMesajlari, string Url) { if (!epostaMesajlari[0].Equals("")) { string result = ""; MailMessage mailMessage = new MailMessage(); SmtpClient emailServer = new SmtpClient("email.arkas.com"); mailMessage.From = new MailAddress(gonderenMail, "Login Kontrol..", Encoding.Default); mailMessage.Priority = MailPriority.High; foreach (string mail in gonderilecekMail) { mailMessage.To.Add(mail); } mailMessage.Subject = konu; mailMessage.SubjectEncoding = Encoding.UTF8; mailMessage.BodyEncoding = Encoding.UTF8; mailMessage.IsBodyHtml = true; //String builder nesnesini her posta ile tekrar yaratmamak için hep aynı yerden çekmektedir ve e-postadaki boşlukları ve mesajları birleştirmeye yarar.. StringBuilder sb = ChromeDriverSingleton.getStringBuilderInstance(); sb.Append("<br>"); sb.Append(icerik); sb.Append("<br>"); for (int i = 0; i < epostaMesajlari.Length; i++) { if (!string.IsNullOrEmpty(epostaMesajlari[i])) { sb.Append(epostaMesajlari[i]); sb.Append("<br>"); } else { break; } } result = sb.ToString(); mailMessage.Body = result; if (!ChromeDriverSingleton.parametreIleMiGeldi) { sb.Clear(); } emailServer.DeliveryMethod = SmtpDeliveryMethod.Network; try { emailServer.Send(mailMessage); foreach (string mail in gonderilecekMail) { ChromeDriverSingleton.dosyayaCumleYaz(ChromeDriverSingleton.logDosyasiPath, mail + " adresine e-posta basarili bir sekilde gonderilmistir.."); // ChromeDriverSingleton.yesilYaz(mail + " adresine e-posta basarili bir sekilde gonderilmistir.."); } } catch (Exception ex) { ChromeDriverSingleton.dosyayaCumleYaz(ChromeDriverSingleton.logDosyasiPath, "Mail gönderilirken bir hata oluştu. Hata: " + ex.ToString()); foreach (string mail in gonderilecekMail) { ChromeDriverSingleton.dosyayaCumleYaz(ChromeDriverSingleton.logDosyasiPath, mail + " adresine e-posta gönderilemedi.."); ChromeDriverSingleton.kirmiziYaz(mail + " adresine e-posta gönderilemedi.."); } } } else { if (!Url.Equals("")) { ChromeDriverSingleton.dosyayaCumleYaz(ChromeDriverSingleton.logDosyasiPath, Url + " web sitesi basarili calismaktadir.."); // ChromeDriverSingleton.yesilYaz(Url + " web sitesi basarili calismaktadir.."); } } }
//Sqlite veritabanına veri eklemeyi sağlayan fonksiyon. public bool SQLiteVeritabaninaVeriEkle(WebSitesi gelenWebSitesiElementi) { int errorDegeri = 0, girisEkraniDegeri = 0, sonKisimdakiIdDegeri = 0; string sqlWebSitesi, sqlServisUrlleri; try { if (gelenWebSitesiElementi._errorEtiketiIdMi) { errorDegeri = 1; } else { errorDegeri = 0; } if (gelenWebSitesiElementi._girisEkraniElementiNameMi) { girisEkraniDegeri = 1; } else { girisEkraniDegeri = 0; } SQLiteParameter prm1 = new SQLiteParameter("siteAdi", gelenWebSitesiElementi._siteAdi); SQLiteParameter prm2 = new SQLiteParameter("loginOlduktanSonraBakilacakElement", gelenWebSitesiElementi._loginOlduktanSonraBakilacakElement); SQLiteParameter prm3 = new SQLiteParameter("kullaniciAdiEtiketi", gelenWebSitesiElementi._kullaniciAdiEtiketi); SQLiteParameter prm4 = new SQLiteParameter("sifreEtiketi", gelenWebSitesiElementi._sifreEtiketi); SQLiteParameter prm5 = new SQLiteParameter("errorEtiketi", gelenWebSitesiElementi._errorEtiketi); SQLiteParameter prm6 = new SQLiteParameter("url", gelenWebSitesiElementi._url); SQLiteParameter prm7 = new SQLiteParameter("errorEtiketiIdMi", errorDegeri); SQLiteParameter prm8 = new SQLiteParameter("girisEkraniElementiNameMi", girisEkraniDegeri); SQLiteParameter prm9 = new SQLiteParameter("parametre", gelenWebSitesiElementi._parametre); sqlWebSitesi = "INSERT INTO webSiteleri (siteAdi, loginOlduktanSonraBakilacakElement,kullaniciAdiEtiketi, sifreEtiketi, errorEtiketi, url, errorEtiketiIdMi, girisEkraniElementiNameMi, parametre) " + "VALUES (@siteAdi, @loginOlduktanSonraBakilacakElement, @kullaniciAdiEtiketi, @sifreEtiketi, @errorEtiketi , @url, @errorEtiketiIdMi, @girisEkraniElementiNameMi, @parametre)"; SqlCommand = sorguCommentiniGetir(sqlWebSitesi, SqliteConnection); if (SqlCommand != null) { SqlCommand.Parameters.Add(prm1); SqlCommand.Parameters.Add(prm2); SqlCommand.Parameters.Add(prm3); SqlCommand.Parameters.Add(prm4); SqlCommand.Parameters.Add(prm5); SqlCommand.Parameters.Add(prm6); SqlCommand.Parameters.Add(prm7); SqlCommand.Parameters.Add(prm8); SqlCommand.Parameters.Add(prm9); } SqlCommand.ExecuteNonQuery(); VeritabaniBaglantisiniKes(); DataTable[0] = ilgiliSorguyaDairWebSitesiDegerleriniGetir("SELECT MAX(ID) AS ID FROM webSiteleri"); //Son eklenen degerin id numarasini veren islem.. if (DataTable[0].Rows.Count > 0) { sonKisimdakiIdDegeri = Convert.ToInt32(DataTable[0].Rows[0]["ID"]); } else { ChromeDriverSingleton.dosyayaCumleYaz(ChromeDriverSingleton.logDosyasiPath, sonKisimdakiIdDegeri + " id'li veri, veritabaninda deger bulunamadi.."); ChromeDriverSingleton.griYaz("Veritabaninda deger bulunamadi.."); return(false); } sqlServisUrlleri = "INSERT INTO servisUrlleri (ID, servisUrl) VALUES (@ID, @servisUrl)"; if (SqlCommand != null) { for (int i = 0; i < gelenWebSitesiElementi._servisUrlleri.Length; i++) { if (!string.IsNullOrEmpty(gelenWebSitesiElementi._servisUrlleri[i])) { SqlCommand = sorguCommentiniGetir(sqlServisUrlleri, SqliteConnection); SQLiteParameter prm10 = new SQLiteParameter("ID", sonKisimdakiIdDegeri); SQLiteParameter prm11 = new SQLiteParameter("servisUrl", gelenWebSitesiElementi._servisUrlleri[i]); SqlCommand.Parameters.Add(prm10); SqlCommand.Parameters.Add(prm11); SqlCommand.ExecuteNonQuery(); VeritabaniBaglantisiniKes(); } else { break; } } } return(true); } catch (Exception ex) { ChromeDriverSingleton.dosyayaCumleYaz(ChromeDriverSingleton.logDosyasiPath, "SQLite veritabanina veri eklerken bir problem oluştu.. Hata: " + ex.ToString()); ChromeDriverSingleton.kirmiziYaz("SQLite veritabanina veri eklerken bir problem oluştu.. Hata: " + ex.ToString()); return(false); } }
//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); } } }
//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.."); } }
//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); } } }
//Verilen site adlarına göre değerlerin alınmasını sağlayan fonksiyon. public bool parametreAdinaGoreDegerleriAl(string parametre) { DataTable alinanDeger = new DataTable(); try { string sqlSorgusu = ""; if (parametre.Equals("")) { sqlSorgusu = "SELECT * FROM webSiteleri WHERE siteAdi LIKE '%%';"; } else if (parametre.Contains(".com")) { sqlSorgusu = "SELECT * FROM webSiteleri WHERE siteAdi LIKE '%" + parametre + "%';"; } else { sqlSorgusu = "SELECT * FROM webSiteleri WHERE parametre LIKE '%" + parametre + "%';"; } ilgiliSorguyaDairWebSitesiDegerleriniGetir(sqlSorgusu); for (int i = 0; i < DataTable[0].Rows.Count; i++) { ilgiliSorguyaDairWebSitesiUrlDegerleriniGetir("SELECT * FROM servisUrlleri WHERE ID = " + DataTable[0].Rows[i]["ID"]); int deger = DataTable[1].Rows.Count; if (DataTable[1] != null) { alinanDeger.Merge(DataTable[1]); DataTable[1].Clear(); } else { DataTable[1] = new DataTable(); } } DataTable[1] = alinanDeger; int a1 = DataTable[0].Rows.Count; int a2 = DataTable[1].Rows.Count; if (dataTabledakiDegerleriListeyeAta(DataTable[0], alinanDeger)) { return(true); } else { return(false); } } catch (Exception ex) { ChromeDriverSingleton.dosyayaCumleYaz(ChromeDriverSingleton.logDosyasiPath, "SQLite veritabanindan " + parametre + " parametre degerine ait web siteleri alinirken bir problem olustu..) Hata: " + ex.ToString()); ChromeDriverSingleton.kirmiziYaz("SQLite veritabanindan " + parametre + " parametre degerine ait web siteleri alinirken bir problem olustu..) Hata: " + ex.ToString()); return(false); } }
//Verilen dataTable'daki değerleri listeye atayan fonksiyon. public bool dataTabledakiDegerleriListeyeAta(DataTable dataTable1, DataTable dataTable2) { List <string> servisUrllerim = new List <string>(); string[] servisUrllerimArray = null; if (dataTable1 != null) { WebSitesi[] websiteBilgileri = new WebSitesi[dataTable1.Rows.Count]; if (dataTable1.Rows.Count > 0) { for (int j = 0; j < dataTable1.Rows.Count; j++) { websiteBilgileri[j] = new WebSitesi(Convert.ToInt32(dataTable1.Rows[j].ItemArray[0]), Convert.ToString(dataTable1.Rows[j].ItemArray[1]), Convert.ToString(dataTable1.Rows[j].ItemArray[2]), Convert.ToString(dataTable1.Rows[j].ItemArray[3]), Convert.ToString(dataTable1.Rows[j].ItemArray[4]), Convert.ToString(dataTable1.Rows[j].ItemArray[5]), Convert.ToString(dataTable1.Rows[j].ItemArray[6]), Convert.ToBoolean(dataTable1.Rows[j].ItemArray[7]), Convert.ToBoolean(dataTable1.Rows[j].ItemArray[8]), null, Convert.ToString(DataTable[0].Rows[j].ItemArray[9])); if (dataTable2 != null) { //Url alma işlemleri burada yapılacaktır.. if (dataTable2.Rows.Count > 0) { for (int a = 0; a < dataTable2.Rows.Count; a++) { if (Convert.ToInt32(dataTable1.Rows[j].ItemArray[0]) == Convert.ToInt32(dataTable2.Rows[a].ItemArray[0])) { servisUrllerim.Add(Convert.ToString(dataTable2.Rows[a].ItemArray[1])); } } if (servisUrllerim.Any()) { servisUrllerimArray = new string[servisUrllerim.Count()]; for (int i = 0; i < servisUrllerim.Count(); i++) { servisUrllerimArray[i] = servisUrllerim.ElementAt(i); } if (servisUrllerimArray[0] != null) { websiteBilgileri[j]._servisUrlleri = servisUrllerimArray; } if (servisUrllerim.Any()) { servisUrllerim.Clear(); } } } } else { Console.WriteLine("Veritabaninda web sitelerine ait url degerleri bulunmamaktadir.."); } } if (Fonksiyonlar.WebSiteleri.Any()) { Fonksiyonlar.WebSiteleri.Clear(); } for (int a = 0; a < websiteBilgileri.Length; a++) { Fonksiyonlar.WebSiteleri.Add(websiteBilgileri[a]); } return(true); } else { ChromeDriverSingleton.dosyayaCumleYaz(ChromeDriverSingleton.logDosyasiPath, "Veritabaninda herhangi bir bilgi bulunmamaktadir.."); ChromeDriverSingleton.griYaz("Veritabaninda herhangi bir bilgi bulunmamaktadir.."); return(false); } } return(true); }