Beispiel #1
0
        //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);
            }
        }
Beispiel #2
0
        //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);
            }
        }
Beispiel #5
0
        //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);
            }
        }
Beispiel #6
0
        //İ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);
            }
        }
Beispiel #7
0
 //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);
     }
 }
Beispiel #8
0
 //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);
     }
 }
Beispiel #9
0
        //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);
            }
        }
Beispiel #10
0
        //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;
                    }
                }
            }
        }
Beispiel #11
0
        //İ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);
        }
Beispiel #12
0
        //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);
            }
        }
Beispiel #13
0
 //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);
     }
 }
Beispiel #14
0
        //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);
            }
        }
Beispiel #15
0
        //İ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);
            }
        }
Beispiel #16
0
 //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);
         }
     }
 }
Beispiel #17
0
        //İ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);
            }
        }
Beispiel #18
0
        //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..");
                }
            }
        }
Beispiel #23
0
        //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..");
                }
            }
        }
Beispiel #24
0
        //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);
            }
        }
Beispiel #25
0
        //Sitenin cevap verip vermediğini sorgulayan fonksiyon.
        public static bool SiteCevapVerdiMi(IWebDriver driver, string SiteAdi, string KullaniciAdi, string[] epostaMesaji)
        {
            try
            {
                driver.Url = SiteAdi;

                ChromeDriverSingleton.siteCevabiOlumluMu = true;

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

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

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

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

                    ChromeDriverSingleton.ePostaSayisi++;

                    ChromeDriverSingleton.siteCevabiOlumluMu = false;

                    return(false);
                }

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

                    ChromeDriverSingleton.exceptionSiteCevapVerdiMiCount++;

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

                    System.Threading.Thread.Sleep(30000);

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

                    ChromeDriverSingleton.yeniKopyaYarat();

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

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

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

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

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

                    ChromeDriverSingleton.ePostaSayisi++;

                    ChromeDriverSingleton.siteCevabiOlumluMu = false;

                    return(false);
                }
            }
        }
Beispiel #26
0
        //Verilen site adına login işlemi yapan fonksiyon.
        public static void LoginIslemiYap(string SiteAdi)
        {
            string KullaniciAdi = "ygtest", Sifre = "test2015";


            ChromeDriverSingleton.yeniKopyaYarat();

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

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

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

            string[] epostaMesaji = ChromeDriverSingleton.epostaMesaji;

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

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

            bool webSitesiCevapVerdiMi = false;

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

            WebSitesi ilgiliWebSitesi = WebSitesiniGetir(SiteAdi);

            System.Threading.Thread.Sleep(1000);

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

                driver = ChromeDriverSingleton.getDriverInstance();

                ChromeDriverSingleton.exceptionSiteCevapVerdiMiCount = 0;

                ChromeDriverSingleton.siteCevabiOlumluMu = false;


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

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

                servisUrlleriniKontrolEt(ilgiliWebSitesi, epostaMesaji);

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

                    ChromeDriverSingleton.siteCevabiOlumluMu = false;
                }

                webSitesiCevapVerdiMi = false;
            }

            else
            {
                ChromeDriverSingleton.griYaz("İlgili web sitesi veritabaninda bulunamadi..");
            }
        }
Beispiel #27
0
        //Bir web sitesine kullanıcı girişi yapmaya yarayan fonksiyon.
        public static bool KullaniciGirisiYap(IWebDriver driver, string KullaniciAdi, string Sifre, WebSitesi ilgiliWebSitesi, string[] epostaMesaji)
        {
            //Flash animasyonu olan sitelerde bekleme yapmazsak kullanıcı adı ve sifre bolumlerini bulamamaktadır..
            System.Threading.Thread.Sleep(1000);

            //string[] errorEtiketim = null;

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


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

                ChromeDriverSingleton.exceptionCountServisUrlleriSifirla();

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

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

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

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

                    ChromeDriverSingleton.ePostaSayisi++;

                    ChromeDriverSingleton.siteCevabiOlumluMu = false;

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

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

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

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

                        ChromeDriverSingleton.ePostaSayisi++;

                        ChromeDriverSingleton.siteCevabiOlumluMu = false;

                        return(false);
                    }

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

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

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

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

                        ChromeDriverSingleton.ePostaSayisi++;

                        ChromeDriverSingleton.siteCevabiOlumluMu = false;

                        return(false);
                    }

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

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

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


                            ChromeDriverSingleton.yeniKopyaYarat();



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

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

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

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

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

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

                            ChromeDriverSingleton.ePostaSayisi++;

                            ChromeDriverSingleton.siteCevabiOlumluMu = false;

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

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

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

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

                    ChromeDriverSingleton.ePostaSayisi++;

                    ChromeDriverSingleton.siteCevabiOlumluMu = false;

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

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

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

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

                // ChromeDriverSingleton.ePostaSayisi++;

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

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

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

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

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

                    ChromeDriverSingleton.ePostaSayisi++;

                    ChromeDriverSingleton.siteCevabiOlumluMu = false;

                    return(false);
                }

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

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

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

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

                    ChromeDriverSingleton.ePostaSayisi++;

                    ChromeDriverSingleton.siteCevabiOlumluMu = false;

                    return(false);
                }

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

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

                    ChromeDriverSingleton.driver = new ChromeDriver();

                    ChromeDriverSingleton.yeniKopyaYarat();

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

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

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

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

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

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

                    ChromeDriverSingleton.ePostaSayisi++;

                    ChromeDriverSingleton.siteCevabiOlumluMu = false;

                    return(false);
                }
            }
        }
Beispiel #28
0
        //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);
            }
        }
Beispiel #29
0
        //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);
        }