{"id":38515,"date":"2026-02-01T22:41:04","date_gmt":"2026-02-01T19:41:04","guid":{"rendered":"https:\/\/fatihsoysal.com\/blog\/?p=38515"},"modified":"2026-02-01T22:41:04","modified_gmt":"2026-02-01T19:41:04","slug":"selenium-jar-dosyalarini-indirme-ve-eclipsete-yapilandirma","status":"publish","type":"post","link":"https:\/\/fatihsoysal.com\/blog\/selenium-jar-dosyalarini-indirme-ve-eclipsete-yapilandirma\/","title":{"rendered":"Selenium JAR Dosyalar\u0131n\u0131 \u0130ndirme ve Eclipse&#8217;te Yap\u0131land\u0131rma"},"content":{"rendered":"<p><body><\/p>\n<h2>Selenium JAR Dosyalar\u0131n\u0131 \u0130ndirme ve Eclipse&#8217;te Yap\u0131land\u0131rma<\/h2>\n<h3>Giri\u015f: Selenium ve Otomasyon Testlerinin \u00d6nemi<\/h3>\n<p>G\u00fcn\u00fcm\u00fcz\u00fcn h\u0131zla geli\u015fen yaz\u0131l\u0131m d\u00fcnyas\u0131nda, kaliteli ve hatas\u0131z \u00fcr\u00fcnler sunmak her zamankinden daha b\u00fcy\u00fck bir \u00f6nem ta\u015f\u0131maktad\u0131r. Yaz\u0131l\u0131m geli\u015ftirme s\u00fcrecinin ayr\u0131lmaz bir par\u00e7as\u0131 olan test, bu kalite g\u00fcvencesinin temelini olu\u015fturur. Ancak, manuel test s\u00fcre\u00e7leri genellikle zaman al\u0131c\u0131, tekrarlay\u0131c\u0131 ve insan hatas\u0131na a\u00e7\u0131k bir yap\u0131ya sahiptir. Projeler b\u00fcy\u00fcd\u00fck\u00e7e ve \u00f6zellikler artt\u0131k\u00e7a, her yeni s\u00fcr\u00fcmde t\u00fcm fonksiyonelliklerin manuel olarak test edilmesi neredeyse imkans\u0131z hale gelir. \u0130\u015fte tam bu noktada otomasyon testleri devreye girer.<\/p>\n<p>Otomasyon testleri, test s\u00fcre\u00e7lerini h\u0131zland\u0131rarak, do\u011fruluk oran\u0131n\u0131 art\u0131rarak ve maliyet etkinli\u011fi sa\u011flayarak yaz\u0131l\u0131m geli\u015ftirme d\u00f6ng\u00fcs\u00fcne paha bi\u00e7ilmez katk\u0131lar sunar. Otomatikle\u015ftirilmi\u015f testler, ayn\u0131 senaryolar\u0131n defalarca ve tutarl\u0131 bir \u015fekilde \u00e7al\u0131\u015ft\u0131r\u0131lmas\u0131na olanak tan\u0131r, bu da regresyon hatalar\u0131n\u0131n erken a\u015famada tespit edilmesini kolayla\u015ft\u0131r\u0131r. Web tabanl\u0131 uygulamalar\u0131n test otomasyonunda ise Selenium, sekt\u00f6rde tart\u0131\u015fmas\u0131z lider konumdad\u0131r. A\u00e7\u0131k kaynakl\u0131 yap\u0131s\u0131, geni\u015f taray\u0131c\u0131 ve dil deste\u011fi ile Selenium, d\u00fcnya genelinde binlerce geli\u015ftirici ve test m\u00fchendisi taraf\u0131ndan tercih edilmektedir.<\/p>\n<p>Bu makale, Selenium ile otomasyon testlerine ba\u015flamak isteyen herkes i\u00e7in kapsaml\u0131 bir rehber niteli\u011findedir. Amac\u0131m\u0131z, Selenium JAR dosyalar\u0131n\u0131 nas\u0131l indirece\u011finizi, Eclipse Entegre Geli\u015ftirme Ortam\u0131&#8217;nda (IDE) nas\u0131l yap\u0131land\u0131raca\u011f\u0131n\u0131z\u0131 ve ilk basit test senaryonuzu nas\u0131l yazaca\u011f\u0131n\u0131z\u0131 ad\u0131m ad\u0131m g\u00f6stermektir. Bu sayede, kendi otomasyon test ortam\u0131n\u0131z\u0131 kurmak i\u00e7in sa\u011flam bir temel olu\u015fturabileceksiniz.<\/p>\n<h3>Selenium Nedir ve Neden Kullan\u0131l\u0131r?<\/h3>\n<p>Selenium, web uygulamalar\u0131n\u0131 otomatikle\u015ftirmek i\u00e7in kullan\u0131lan a\u00e7\u0131k kaynakl\u0131 ve ta\u015f\u0131nabilir bir yaz\u0131l\u0131m test \u00e7er\u00e7evesidir. Geli\u015ftiricilerin ve test m\u00fchendislerinin web taray\u0131c\u0131lar\u0131ndaki eylemleri programatik olarak taklit etmelerine olanak tan\u0131r. Kullan\u0131c\u0131lar\u0131n bir web sitesinde yapabilece\u011fi her t\u00fcrl\u00fc etkile\u015fimi (t\u0131klama, metin girme, form g\u00f6nderme, sayfa gezintisi vb.) otomatikle\u015ftirme yetene\u011fine sahiptir.<\/p>\n<p>Selenium&#8217;un bu kadar pop\u00fcler olmas\u0131n\u0131n ba\u015fl\u0131ca nedenleri \u015funlard\u0131r:<\/p>\n<ul>\n<li><b>\u00c7oklu Taray\u0131c\u0131 Deste\u011fi:<\/b> Google Chrome, Mozilla Firefox, Microsoft Edge, Safari ve Opera gibi \u00f6nde gelen t\u00fcm modern web taray\u0131c\u0131lar\u0131n\u0131 destekler. Bu sayede, uygulaman\u0131z\u0131n farkl\u0131 taray\u0131c\u0131larda nas\u0131l davrand\u0131\u011f\u0131n\u0131 test edebilirsiniz.<\/li>\n<li><b>\u00c7oklu Dil Deste\u011fi:<\/b> Java, Python, C#, Ruby, JavaScript ve Kotlin gibi pop\u00fcler programlama dillerinde test senaryolar\u0131 yazmaya olanak tan\u0131r. Bu esneklik, ekiplerin mevcut dil becerilerini kullanmas\u0131na olanak sa\u011flar.<\/li>\n<li><b>A\u00e7\u0131k Kaynak ve \u00dccretsiz:<\/b> Selenium a\u00e7\u0131k kaynakl\u0131 bir proje oldu\u011fu i\u00e7in \u00fccretsizdir ve geni\u015f bir topluluk deste\u011fine sahiptir. Bu da s\u00fcrekli geli\u015fim ve zengin kaynaklar anlam\u0131na gelir.<\/li>\n<li><b>Esneklik ve Geni\u015fletilebilirlik:<\/b> Selenium, di\u011fer test \u00e7er\u00e7eveleri (JUnit, TestNG) ve yard\u0131mc\u0131 ara\u00e7larla (Maven, Gradle, Jenkins) kolayca entegre edilebilir. Bu sayede karma\u015f\u0131k ve \u00f6l\u00e7eklenebilir otomasyon \u00e7\u00f6z\u00fcmleri olu\u015fturulabilir.<\/li>\n<li><b>Regresyon Testleri:<\/b> Yeni \u00f6zellikler eklendi\u011finde veya mevcut kodda de\u011fi\u015fiklikler yap\u0131ld\u0131\u011f\u0131nda, daha \u00f6nce \u00e7al\u0131\u015fan fonksiyonelliklerin bozulmad\u0131\u011f\u0131ndan emin olmak i\u00e7in regresyon testleri otomatikle\u015ftirmede kritik bir rol oynar.<\/li>\n<li><b>Fonksiyonel Testler:<\/b> Uygulaman\u0131n beklenen i\u015flevselli\u011fi do\u011fru bir \u015fekilde yerine getirip getirmedi\u011fini do\u011frulamak i\u00e7in kullan\u0131l\u0131r.<\/li>\n<li><b>Taray\u0131c\u0131 Uyumluluk Testleri:<\/b> Uygulaman\u0131n farkl\u0131 taray\u0131c\u0131larda ve i\u015fletim sistemlerinde sorunsuz \u00e7al\u0131\u015ft\u0131\u011f\u0131n\u0131 kontrol etmek i\u00e7in idealdir.<\/li>\n<\/ul>\n<h3>Selenium Bile\u015fenleri ve Mimarisi<\/h3>\n<p>Selenium, asl\u0131nda tek bir ara\u00e7tan ziyade, web otomasyonu i\u00e7in tasarlanm\u0131\u015f bir dizi bile\u015fenin bir araya gelmesidir. Bu bile\u015fenler, farkl\u0131 ihtiya\u00e7lara y\u00f6nelik \u00e7\u00f6z\u00fcmler sunar:<\/p>\n<ol>\n<li><b>Selenium IDE (Integrated Development Environment):<\/b>\n<ul>\n<li>Bir taray\u0131c\u0131 eklentisidir (Chrome ve Firefox i\u00e7in mevcuttur).<\/li>\n<li>Test senaryolar\u0131n\u0131 kaydetme ve oynatma \u00f6zelli\u011fine sahiptir. Kullan\u0131c\u0131n\u0131n taray\u0131c\u0131daki etkile\u015fimlerini (t\u0131klamalar, metin giri\u015fleri) kaydeder ve daha sonra bu eylemleri otomatik olarak tekrar edebilir.<\/li>\n<li>Daha \u00e7ok h\u0131zl\u0131 prototipleme, basit test senaryolar\u0131 ve Selenium&#8217;a yeni ba\u015flayanlar i\u00e7in kullan\u0131\u015fl\u0131d\u0131r. Karma\u015f\u0131k test otomasyon projeleri i\u00e7in yetersiz kalabilir.<\/li>\n<\/ul>\n<\/li>\n<li><b>Selenium WebDriver:<\/b>\n<ul>\n<li>Selenium&#8217;un kalbidir ve bu makalenin ana odak noktas\u0131d\u0131r.<\/li>\n<li>Taray\u0131c\u0131larla do\u011frudan ileti\u015fim kuran bir API (Uygulama Programlama Aray\u00fcz\u00fc) sa\u011flar. Her taray\u0131c\u0131 i\u00e7in \u00f6zel olarak geli\u015ftirilmi\u015f bir s\u00fcr\u00fcc\u00fc (\u00f6rne\u011fin, ChromeDriver, GeckoDriver) arac\u0131l\u0131\u011f\u0131yla taray\u0131c\u0131lar\u0131n yerel API&#8217;lerini kullanarak etkile\u015fimde bulunur.<\/li>\n<li>JSON Wire Protocol veya daha yeni W3C WebDriver standard\u0131n\u0131 kullanarak taray\u0131c\u0131ya komutlar g\u00f6nderir ve taray\u0131c\u0131dan yan\u0131tlar al\u0131r.<\/li>\n<li>Daha g\u00fc\u00e7l\u00fc, esnek ve \u00f6l\u00e7eklenebilir test senaryolar\u0131 yazmak i\u00e7in tercih edilir.<\/li>\n<\/ul>\n<\/li>\n<li><b>Selenium Grid:<\/b>\n<ul>\n<li>Test senaryolar\u0131n\u0131 birden fazla makine ve taray\u0131c\u0131da e\u015f zamanl\u0131 (paralel) olarak \u00e7al\u0131\u015ft\u0131rmak i\u00e7in kullan\u0131l\u0131r.<\/li>\n<li>Testlerin \u00e7ok daha h\u0131zl\u0131 tamamlanmas\u0131n\u0131 sa\u011flar, \u00f6zellikle b\u00fcy\u00fck test paketleri ve farkl\u0131 taray\u0131c\u0131\/i\u015fletim sistemi kombinasyonlar\u0131 \u00fczerinde test yap\u0131lmas\u0131 gerekti\u011finde hayati \u00f6nem ta\u015f\u0131r.<\/li>\n<li>Bir &#8220;Hub&#8221; (merkezi sunucu) ve birden fazla &#8220;Node&#8221; (testleri \u00e7al\u0131\u015ft\u0131ran makineler) mimarisiyle \u00e7al\u0131\u015f\u0131r.<\/li>\n<\/ul>\n<\/li>\n<li><b>Selenium RC (Remote Control):<\/b>\n<ul>\n<li>Selenium&#8217;un eski bir bile\u015fenidir ve art\u0131k aktif olarak geli\u015ftirilmemekte veya desteklenmemektedir.<\/li>\n<li>Taray\u0131c\u0131 ile bir JavaScript enjeksiyonu arac\u0131l\u0131\u011f\u0131yla etkile\u015fim kuruyordu.<\/li>\n<li>Modern projelerde Selenium WebDriver&#8217;\u0131n kullan\u0131lmas\u0131 \u00f6nerilir.<\/li>\n<\/ul>\n<\/li>\n<\/ol>\n<p>Bu makalede, en g\u00fc\u00e7l\u00fc ve yayg\u0131n kullan\u0131lan bile\u015fen olan Selenium WebDriver&#8217;\u0131 Eclipse ortam\u0131nda nas\u0131l yap\u0131land\u0131raca\u011f\u0131m\u0131za odaklanaca\u011f\u0131z.<\/p>\n<h3>Selenium JAR Dosyalar\u0131n\u0131 \u0130ndirme Ad\u0131mlar\u0131<\/h3>\n<p>Selenium ile bir otomasyon projesine ba\u015flamadan \u00f6nce, gerekli olan JAR (Java Archive) dosyalar\u0131n\u0131 ve taray\u0131c\u0131 s\u00fcr\u00fcc\u00fclerini indirmeniz gerekmektedir. Bu ad\u0131mlar, Selenium projenizin temelini olu\u015fturacakt\u0131r.<\/p>\n<h4>Selenium WebDriver JAR Dosyalar\u0131n\u0131 \u0130ndirme<\/h4>\n<p>Selenium WebDriver&#8217;\u0131 Java projenizde kullanabilmek i\u00e7in, ilgili k\u00fct\u00fcphane dosyalar\u0131n\u0131 (JAR&#8217;lar) indirmeniz gerekir.<\/p>\n<ol>\n<li><b>Resmi Selenium Web Sitesini Ziyaret Edin:<\/b> Bir web taray\u0131c\u0131s\u0131 a\u00e7\u0131n ve Selenium&#8217;un resmi web sitesine gidin: <a href=\"https:\/\/www.selenium.dev\" target=\"_blank\">https:\/\/www.selenium.dev<\/a>.<\/li>\n<li><b>\u0130ndirme Sayfas\u0131na Gidin:<\/b> Ana sayfada genellikle &#8220;Downloads&#8221; (\u0130ndirmeler) veya benzer bir ba\u011flant\u0131 bulunur. Bu ba\u011flant\u0131ya t\u0131klayarak indirme sayfas\u0131na ula\u015f\u0131n.<\/li>\n<li><b>Java \u0130\u00e7in \u0130stemci K\u00fct\u00fcphanesini \u0130ndirin:<\/b> &#8220;Selenium Client &#038; WebDriver Language Bindings&#8221; ba\u015fl\u0131\u011f\u0131 alt\u0131nda, farkl\u0131 programlama dilleri i\u00e7in indirme ba\u011flant\u0131lar\u0131n\u0131 g\u00f6receksiniz. &#8220;Java&#8221; ba\u015fl\u0131\u011f\u0131n\u0131n alt\u0131ndaki &#8220;Stable&#8221; (Kararl\u0131) s\u00fcr\u00fcm\u00fcn indirme linkine t\u0131klay\u0131n. Genellikle bu bir <code>.zip<\/code> dosyas\u0131d\u0131r (\u00f6rne\u011fin, <code>selenium-java-4.x.x.zip<\/code>).<\/li>\n<li><b>Dosyalar\u0131 \u00c7\u0131kar\u0131n:<\/b> \u0130ndirdi\u011finiz <code>.zip<\/code> dosyas\u0131n\u0131 bilgisayar\u0131n\u0131zda kolayca eri\u015febilece\u011finiz bir konuma (\u00f6rne\u011fin, <code>C:\\Selenium_Libraries<\/code> veya <code>~\/Selenium_Libraries<\/code>) \u00e7\u0131kar\u0131n. \u00c7\u0131kar\u0131lan klas\u00f6r\u00fcn i\u00e7inde <code>selenium-java-4.x.x.jar<\/code> gibi ana JAR dosyas\u0131n\u0131 ve <code>lib<\/code> ad\u0131nda bir alt klas\u00f6r bulacaks\u0131n\u0131z. <code>lib<\/code> klas\u00f6r\u00fc, Selenium&#8217;un \u00e7al\u0131\u015fmas\u0131 i\u00e7in gerekli olan di\u011fer ba\u011f\u0131ml\u0131l\u0131k JAR dosyalar\u0131n\u0131 i\u00e7erir. Bu JAR&#8217;lar\u0131n tamam\u0131 projenize eklenmelidir.<\/li>\n<\/ol>\n<h4>Taray\u0131c\u0131 S\u00fcr\u00fcc\u00fclerini (WebDriver Executables) \u0130ndirme<\/h4>\n<p>Selenium WebDriver, do\u011frudan taray\u0131c\u0131 ile etkile\u015fim kurmaz. Bunun yerine, her taray\u0131c\u0131 i\u00e7in \u00f6zel olarak geli\u015ftirilmi\u015f bir &#8220;taray\u0131c\u0131 s\u00fcr\u00fcc\u00fcs\u00fc&#8221; (WebDriver executable) arac\u0131l\u0131\u011f\u0131yla ileti\u015fim kurar. Bu s\u00fcr\u00fcc\u00fcler, taray\u0131c\u0131ya \u00f6zg\u00fc API&#8217;leri kullanarak komutlar\u0131 taray\u0131c\u0131ya iletir ve sonu\u00e7lar\u0131 geri al\u0131r. Kullanaca\u011f\u0131n\u0131z her taray\u0131c\u0131 i\u00e7in ilgili s\u00fcr\u00fcc\u00fcy\u00fc indirmeniz gereklidir.<\/p>\n<ol>\n<li><b>ChromeDriver (Google Chrome i\u00e7in):<\/b>\n<ul>\n<li>Chrome taray\u0131c\u0131n\u0131z\u0131n s\u00fcr\u00fcm\u00fcn\u00fc kontrol edin (Chrome Ayarlar\u0131 > Chrome Hakk\u0131nda).<\/li>\n<li>ChromeDriver indirme sayfas\u0131na gidin: <a href=\"https:\/\/chromedriver.chromium.org\/downloads\" target=\"_blank\">https:\/\/chromedriver.chromium.org\/downloads<\/a>.<\/li>\n<li>Kendi Chrome s\u00fcr\u00fcm\u00fcn\u00fcze uygun ChromeDriver s\u00fcr\u00fcm\u00fcn\u00fc bulun ve indirin.<\/li>\n<li>\u0130ndirilen <code>.zip<\/code> dosyas\u0131n\u0131 a\u00e7\u0131n ve i\u00e7indeki <code>chromedriver.exe<\/code> (Windows) veya <code>chromedriver<\/code> (macOS\/Linux) dosyas\u0131n\u0131, Selenium JAR dosyalar\u0131n\u0131 \u00e7\u0131kard\u0131\u011f\u0131n\u0131z klas\u00f6r\u00fcn yan\u0131na veya projenizin i\u00e7inde <code>drivers<\/code> gibi bir klas\u00f6re yerle\u015ftirin.<\/li>\n<\/ul>\n<\/li>\n<li><b>GeckoDriver (Mozilla Firefox i\u00e7in):<\/b>\n<ul>\n<li>Firefox taray\u0131c\u0131n\u0131z\u0131n s\u00fcr\u00fcm\u00fcn\u00fc kontrol edin.<\/li>\n<li>GeckoDriver GitHub sayfas\u0131na gidin: <a href=\"https:\/\/github.com\/mozilla\/geckodriver\/releases\" target=\"_blank\">https:\/\/github.com\/mozilla\/geckodriver\/releases<\/a>.<\/li>\n<li>Firefox s\u00fcr\u00fcm\u00fcn\u00fczle uyumlu GeckoDriver s\u00fcr\u00fcm\u00fcn\u00fc indirin.<\/li>\n<li>\u0130ndirilen <code>.zip<\/code> dosyas\u0131n\u0131 a\u00e7\u0131n ve i\u00e7indeki <code>geckodriver.exe<\/code> (Windows) veya <code>geckodriver<\/code> (macOS\/Linux) dosyas\u0131n\u0131 uygun bir konuma yerle\u015ftirin.<\/li>\n<\/ul>\n<\/li>\n<li><b>MSEdgeDriver (Microsoft Edge i\u00e7in):<\/b>\n<ul>\n<li>Edge taray\u0131c\u0131n\u0131z\u0131n s\u00fcr\u00fcm\u00fcn\u00fc kontrol edin (Edge Ayarlar\u0131 > Microsoft Edge Hakk\u0131nda).<\/li>\n<li>MSEdgeDriver indirme sayfas\u0131na gidin: <a href=\"https:\/\/developer.microsoft.com\/en-us\/microsoft-edge\/tools\/webdriver\/\" target=\"_blank\">https:\/\/developer.microsoft.com\/en-us\/microsoft-edge\/tools\/webdriver\/<\/a>.<\/li>\n<li>Edge s\u00fcr\u00fcm\u00fcn\u00fcze uygun MSEdgeDriver s\u00fcr\u00fcm\u00fcn\u00fc indirin.<\/li>\n<li>\u0130ndirilen <code>.zip<\/code> dosyas\u0131n\u0131 a\u00e7\u0131n ve i\u00e7indeki <code>msedgedriver.exe<\/code> dosyas\u0131n\u0131 uygun bir konuma yerle\u015ftirin.<\/li>\n<\/ul>\n<\/li>\n<li><b>SafariDriver (Apple Safari i\u00e7in):<\/b>\n<ul>\n<li>SafariDriver, macOS ile birlikte gelir ve ayr\u0131 bir indirme gerektirmez. Safari tercihlerinden &#8220;Develop&#8221; (Geli\u015ftirme) men\u00fcs\u00fcn\u00fc etkinle\u015ftirip &#8220;Allow Remote Automation&#8221; (Uzaktan Otomasyona \u0130zin Ver) se\u00e7ene\u011fini i\u015faretlemeniz yeterlidir.<\/li>\n<\/ul>\n<\/li>\n<\/ol>\n<p><strong>\u00d6nemli Not:<\/strong> \u0130ndirdi\u011finiz taray\u0131c\u0131 s\u00fcr\u00fcc\u00fclerini, projeniz i\u00e7inde kolayca eri\u015filebilecek bir klas\u00f6re (\u00f6rne\u011fin, projenizin k\u00f6k dizininde <code>drivers<\/code> ad\u0131nda bir klas\u00f6r olu\u015fturarak) yerle\u015ftirmeniz \u00f6nerilir. Daha sonra kodunuzda bu s\u00fcr\u00fcc\u00fclerin yolunu belirteceksiniz.<\/p>\n<h3>Eclipse IDE Kurulumu ve Temel Proje Olu\u015fturma<\/h3>\n<p>Eclipse, Java geli\u015ftiricileri aras\u0131nda olduk\u00e7a pop\u00fcler, g\u00fc\u00e7l\u00fc ve \u00fccretsiz bir IDE&#8217;dir. Selenium test otomasyon projeleri i\u00e7in de yayg\u0131n olarak kullan\u0131l\u0131r.<\/p>\n<h4>Eclipse IDE Kurulumu<\/h4>\n<ol>\n<li><b>Eclipse \u0130ndirme:<\/b> Eclipse&#8217;in resmi web sitesine gidin: <a href=\"https:\/\/www.eclipse.org\/downloads\/\" target=\"_blank\">https:\/\/www.eclipse.org\/downloads\/<\/a>.<\/li>\n<li><b>S\u00fcr\u00fcm Se\u00e7imi:<\/b> &#8220;Eclipse IDE for Java Developers&#8221; s\u00fcr\u00fcm\u00fcn\u00fc indirmeniz \u00f6nerilir. Bu s\u00fcr\u00fcm, Java projeleri i\u00e7in gerekli t\u00fcm ara\u00e7lar\u0131 i\u00e7erir.<\/li>\n<li><b>Kurulum:<\/b> \u0130ndirdi\u011finiz paketi (genellikle bir <code>.zip<\/code> veya <code>.tar.gz<\/code> dosyas\u0131) bilgisayar\u0131n\u0131zda istedi\u011finiz bir konuma \u00e7\u0131kar\u0131n. Kurulum dosyas\u0131 yoktur, sadece paketi \u00e7\u0131karman\u0131z yeterlidir.<\/li>\n<li><b>Eclipse&#8217;i Ba\u015flatma:<\/b> \u00c7\u0131kard\u0131\u011f\u0131n\u0131z klas\u00f6rdeki <code>eclipse.exe<\/code> (Windows) veya <code>Eclipse<\/code> uygulamas\u0131n\u0131 (macOS\/Linux) \u00e7al\u0131\u015ft\u0131r\u0131n.<\/li>\n<li><b>\u00c7al\u0131\u015fma Alan\u0131 (Workspace) Se\u00e7imi:<\/b> Eclipse ilk a\u00e7\u0131ld\u0131\u011f\u0131nda sizden bir \u00e7al\u0131\u015fma alan\u0131 (workspace) se\u00e7menizi isteyecektir. Bu, projelerinizin ve ayarlar\u0131n\u0131z\u0131n depolanaca\u011f\u0131 dizindir. Varsay\u0131lan\u0131 kullanabilir veya istedi\u011finiz bir konumu se\u00e7ebilirsiniz. &#8220;Launch&#8221; (Ba\u015flat) butonuna t\u0131klayarak Eclipse&#8217;i a\u00e7\u0131n.<\/li>\n<\/ol>\n<h4>Yeni Bir Java Projesi Olu\u015fturma<\/h4>\n<p>Eclipse a\u00e7\u0131ld\u0131ktan sonra, Selenium test senaryolar\u0131n\u0131z\u0131 yazaca\u011f\u0131n\u0131z bir Java projesi olu\u015fturman\u0131z gerekmektedir.<\/p>\n<ol>\n<li><b>Yeni Proje Sihirbaz\u0131n\u0131 A\u00e7\u0131n:<\/b> Eclipse men\u00fcs\u00fcnden <code>File > New > Java Project<\/code> yolunu izleyin. Alternatif olarak, <code>Ctrl+N<\/code> (Windows) veya <code>Cmd+N<\/code> (macOS) k\u0131sayolunu kullan\u0131p &#8220;Java Project&#8221; yazarak arayabilirsiniz.<\/li>\n<li><b>Proje Ad\u0131n\u0131 Belirleyin:<\/b> &#8220;Project name&#8221; alan\u0131na projeniz i\u00e7in anlaml\u0131 bir ad girin (\u00f6rne\u011fin, <code>SeleniumAutomationProject<\/code>).<\/li>\n<li><b>JRE Se\u00e7imi:<\/b> &#8220;JRE&#8221; (Java Runtime Environment) b\u00f6l\u00fcm\u00fcnde, bilgisayar\u0131n\u0131zda y\u00fckl\u00fc olan ve kullanmak istedi\u011finiz Java s\u00fcr\u00fcm\u00fcn\u00fc se\u00e7in. Genellikle varsay\u0131lan olarak gelen en g\u00fcncel s\u00fcr\u00fcm uygun olacakt\u0131r.<\/li>\n<li><b>Proje Yap\u0131land\u0131rmas\u0131:<\/b> Di\u011fer ayarlar\u0131 varsay\u0131lan olarak b\u0131rakabilir ve &#8220;Finish&#8221; (Bitir) d\u00fc\u011fmesine t\u0131klayarak projeyi olu\u015fturun.<\/li>\n<li><b>Proje Yap\u0131s\u0131:<\/b> Projeniz olu\u015fturulduktan sonra, Eclipse&#8217;in &#8220;Package Explorer&#8221; (Paket Gezgini) g\u00f6r\u00fcn\u00fcm\u00fcnde projenizin ad\u0131n\u0131 g\u00f6receksiniz. Projenizin alt\u0131nda <code>src<\/code> (source &#8211; kaynak) ad\u0131nda bir klas\u00f6r bulunur. Java kod dosyalar\u0131n\u0131z\u0131 (s\u0131n\u0131flar\u0131n\u0131z\u0131) bu klas\u00f6r\u00fcn i\u00e7ine veya alt paketlerine yerle\u015ftireceksiniz.<\/li>\n<\/ol>\n<h3>Eclipse Projesine Selenium JAR Dosyalar\u0131n\u0131 Ekleme<\/h3>\n<p>Selenium JAR dosyalar\u0131n\u0131 indirdikten ve Eclipse projenizi olu\u015fturduktan sonraki en kritik ad\u0131m, bu JAR dosyalar\u0131n\u0131 projenize eklemektir. Bu sayede Eclipse, Selenium k\u00fct\u00fcphanelerindeki s\u0131n\u0131flar\u0131 ve metotlar\u0131 tan\u0131yacak ve kodunuzu derleyebilecektir. Bu i\u015flemi yapman\u0131n iki temel yolu vard\u0131r: Harici JAR&#8217;lar\u0131 do\u011frudan eklemek veya Maven gibi bir ba\u011f\u0131ml\u0131l\u0131k y\u00f6netim arac\u0131 kullanmak.<\/p>\n<h4>Harici JAR&#8217;lar\u0131 Projeye Ekleme Y\u00f6ntemi<\/h4>\n<p>Bu y\u00f6ntem, \u00f6zellikle k\u00fc\u00e7\u00fck projeler veya Maven gibi ara\u00e7lara a\u015fina olmayan kullan\u0131c\u0131lar i\u00e7in daha basittir.<\/p>\n<ol>\n<li><b>Proje \u00d6zelliklerini A\u00e7\u0131n:<\/b> Eclipse&#8217;in &#8220;Package Explorer&#8221; g\u00f6r\u00fcn\u00fcm\u00fcnde, olu\u015fturdu\u011funuz Java projesine (\u00f6rne\u011fin, <code>SeleniumAutomationProject<\/code>) sa\u011f t\u0131klay\u0131n. A\u00e7\u0131lan men\u00fcden &#8220;Properties&#8221; (\u00d6zellikler) se\u00e7ene\u011fini se\u00e7in.<\/li>\n<li><b>Java Build Path&#8217;e Gidin:<\/b> \u00d6zellikler penceresinin sol taraf\u0131ndaki men\u00fcden &#8220;Java Build Path&#8221; (Java Derleme Yolu) se\u00e7ene\u011fine t\u0131klay\u0131n.<\/li>\n<li><b>K\u00fct\u00fcphaneler Sekmesini Se\u00e7in:<\/b> Sa\u011f taraftaki b\u00f6lmede &#8220;Libraries&#8221; (K\u00fct\u00fcphaneler) sekmesine ge\u00e7in.<\/li>\n<li><b>Harici JAR&#8217;lar\u0131 Ekleyin:<\/b>\n<ul>\n<li>&#8220;Add External JARs&#8230;&#8221; (Harici JAR&#8217;lar\u0131 Ekle&#8230;) d\u00fc\u011fmesine t\u0131klay\u0131n.<\/li>\n<li>Daha \u00f6nce indirdi\u011finiz ve bir klas\u00f6re \u00e7\u0131kard\u0131\u011f\u0131n\u0131z Selenium JAR dosyalar\u0131n\u0131n bulundu\u011fu konuma gidin.<\/li>\n<li><code>selenium-java-4.x.x.jar<\/code> gibi ana JAR dosyas\u0131n\u0131 se\u00e7in ve &#8220;Open&#8221; (A\u00e7) d\u00fc\u011fmesine t\u0131klay\u0131n.<\/li>\n<li>Ayn\u0131 i\u015flemi tekrarlayarak, <code>lib<\/code> klas\u00f6r\u00fcn\u00fcn i\u00e7indeki t\u00fcm di\u011fer JAR dosyalar\u0131n\u0131 da se\u00e7in ve ekleyin. Bu ad\u0131m \u00e7ok \u00f6nemlidir, \u00e7\u00fcnk\u00fc Selenium&#8217;un bir\u00e7ok ba\u011f\u0131ml\u0131l\u0131\u011f\u0131 <code>lib<\/code> klas\u00f6r\u00fcnde yer al\u0131r. T\u00fcm JAR&#8217;lar\u0131 se\u00e7mek i\u00e7in <code>Ctrl<\/code> (Windows) veya <code>Cmd<\/code> (macOS) tu\u015funa bas\u0131l\u0131 tutarak birden fazla dosya se\u00e7ebilirsiniz.<\/li>\n<\/ul>\n<\/li>\n<li><b>Uygula ve Kapat:<\/b> T\u00fcm gerekli JAR dosyalar\u0131n\u0131 ekledikten sonra, &#8220;Apply&#8221; (Uygula) ve ard\u0131ndan &#8220;Apply and Close&#8221; (Uygula ve Kapat) d\u00fc\u011fmelerine t\u0131klayarak de\u011fi\u015fiklikleri kaydedin ve \u00f6zellikleri kapat\u0131n.<\/li>\n<\/ol>\n<p>Art\u0131k projeniz Selenium k\u00fct\u00fcphanelerini kullanmaya haz\u0131r hale gelmi\u015ftir. Eclipse, bu JAR dosyalar\u0131n\u0131 projenizin derleme yoluna eklemi\u015f ve Selenium s\u0131n\u0131flar\u0131n\u0131 tan\u0131yabilecektir.<\/p>\n<h4>Maven Kullanarak Ba\u011f\u0131ml\u0131l\u0131klar\u0131 Y\u00f6netme (Alternatif ve \u00d6nerilen Y\u00f6ntem)<\/h4>\n<p>B\u00fcy\u00fck ve karma\u015f\u0131k projelerde, \u00f6zellikle birden fazla ba\u011f\u0131ml\u0131l\u0131\u011f\u0131n oldu\u011fu durumlarda, Maven gibi bir ba\u011f\u0131ml\u0131l\u0131k y\u00f6netim arac\u0131 kullanmak \u00e7ok daha verimli ve s\u00fcrd\u00fcr\u00fclebilirdir. Maven, projenizin ihtiya\u00e7 duydu\u011fu t\u00fcm k\u00fct\u00fcphaneleri (ve onlar\u0131n ba\u011f\u0131ml\u0131l\u0131klar\u0131n\u0131) otomatik olarak indirir ve y\u00f6netir.<\/p>\n<ol>\n<li><b>Maven Projesi Olu\u015fturma:<\/b>\n<ul>\n<li>Eclipse men\u00fcs\u00fcnden <code>File > New > Maven Project<\/code> yolunu izleyin.<\/li>\n<li>&#8220;Create a simple project (skip archetype selection)&#8221; (Basit bir proje olu\u015ftur) se\u00e7ene\u011fini i\u015faretleyin ve &#8220;Next&#8221; (\u0130leri) d\u00fc\u011fmesine t\u0131klay\u0131n.<\/li>\n<li>&#8220;Group Id&#8221; (\u00f6rne\u011fin, <code>com.selenium.automation<\/code>) ve &#8220;Artifact Id&#8221; (\u00f6rne\u011fin, <code>SeleniumMavenProject<\/code>) gibi proje bilgilerini girin. &#8220;Packaging&#8221; olarak <code>jar<\/code> se\u00e7ene\u011fini b\u0131rak\u0131n.<\/li>\n<li>&#8220;Finish&#8221; (Bitir) d\u00fc\u011fmesine t\u0131klayarak Maven projesini olu\u015fturun.<\/li>\n<\/ul>\n<\/li>\n<li><b><code>pom.xml<\/code> Dosyas\u0131n\u0131 D\u00fczenleme:<\/b>\n<ul>\n<li>Maven projeniz olu\u015fturulduktan sonra, projenizin k\u00f6k dizininde <code>pom.xml<\/code> ad\u0131nda bir dosya g\u00f6receksiniz. Bu dosya, Maven projenizin yap\u0131land\u0131rma dosyas\u0131d\u0131r.<\/li>\n<li><code>pom.xml<\/code> dosyas\u0131n\u0131 a\u00e7\u0131n. <code><project><\/code> etiketinin i\u00e7ine <code><dependencies><\/code> blo\u011funu eklemeniz gerekecek.<\/li>\n<li>A\u015fa\u011f\u0131daki Selenium Java ba\u011f\u0131ml\u0131l\u0131\u011f\u0131n\u0131 <code><dependencies><\/code> blo\u011funun i\u00e7ine ekleyin:\n<pre><code class=\"language-xml\"><dependencies>\n                    <!-- Selenium Java Client -->\n                    <dependency>\n                        <groupId>org.seleniumhq.selenium<\/groupId>\n                        <artifactId>selenium-java<\/artifactId>\n                        <version>4.21.0<\/version> <!-- G\u00fcncel s\u00fcr\u00fcm\u00fc buraya yaz\u0131n -->\n                    <\/dependency>\n                    <!-- WebDriverManager (Opsiyonel ama \u00e7ok kullan\u0131\u015fl\u0131d\u0131r, taray\u0131c\u0131 s\u00fcr\u00fcc\u00fclerini otomatik y\u00f6netir) -->\n                    <dependency>\n                        <groupId>io.github.bonigarcia<\/groupId>\n                        <artifactId>webdrivermanager<\/artifactId>\n                        <version>5.8.0<\/version> <!-- G\u00fcncel s\u00fcr\u00fcm\u00fc buraya yaz\u0131n -->\n                    <\/dependency>\n                <\/dependencies><\/code><\/pre>\n<p>                <strong>Not:<\/strong> <code><version><\/code> etiketindeki s\u00fcr\u00fcm numaras\u0131n\u0131, Selenium&#8217;un en g\u00fcncel kararl\u0131 s\u00fcr\u00fcm\u00fcyle de\u011fi\u015ftirdi\u011finizden emin olun. WebDriverManager, taray\u0131c\u0131 s\u00fcr\u00fcc\u00fclerini manuel olarak indirip yolunu belirtme zahmetinden sizi kurtaran harika bir k\u00fct\u00fcphanedir.\n            <\/li>\n<li><code>pom.xml<\/code> dosyas\u0131n\u0131 kaydedin (<code>Ctrl+S<\/code> veya <code>Cmd+S<\/code>). Maven otomatik olarak gerekli JAR dosyalar\u0131n\u0131 internetten indirip projenizin &#8220;Maven Dependencies&#8221; klas\u00f6r\u00fcne ekleyecektir. Bu klas\u00f6r\u00fc &#8220;Package Explorer&#8221;da projenizin alt\u0131nda g\u00f6rebilirsiniz.<\/li>\n<\/ul>\n<\/li>\n<\/ol>\n<p>Maven kullanmak, ba\u011f\u0131ml\u0131l\u0131klar\u0131 y\u00f6netmeyi \u00e7ok daha kolayla\u015ft\u0131r\u0131r, ba\u011f\u0131ml\u0131l\u0131k \u00e7ak\u0131\u015fmalar\u0131n\u0131 azalt\u0131r ve projenizin ta\u015f\u0131nabilirli\u011fini art\u0131r\u0131r. Modern Selenium projelerinde bu y\u00f6ntem \u015fiddetle tavsiye edilir.<\/p>\n<h3>\u0130lk Selenium Test Senaryosunu Yazma<\/h3>\n<p>Selenium JAR dosyalar\u0131n\u0131 projenize ekledikten sonra, art\u0131k ilk test senaryonuzu yazmaya haz\u0131rs\u0131n\u0131z. Basit bir Google aramas\u0131 yapan bir \u00f6rnek \u00fczerinden temel ad\u0131mlar\u0131 inceleyelim.<\/p>\n<h4>Gerekli \u0130\u00e7e Aktarmalar<\/h4>\n<p>Java dosyan\u0131z\u0131n en \u00fcst\u00fcne, kullanaca\u011f\u0131n\u0131z Selenium s\u0131n\u0131flar\u0131n\u0131 i\u00e7e aktarman\u0131z gerekir:<\/p>\n<pre><code class=\"language-java\">import org.openqa.selenium.By;\nimport org.openqa.selenium.WebDriver;\nimport org.openqa.selenium.WebElement;\nimport org.openqa.selenium.chrome.ChromeDriver; \/\/ Chrome i\u00e7in, di\u011fer taray\u0131c\u0131lar i\u00e7in ilgili s\u0131n\u0131f\u0131 kullan\u0131n\nimport java.util.concurrent.TimeUnit; \/\/ Implicit wait i\u00e7in<\/code><\/pre>\n<h4>WebDriver \u00d6rne\u011fini Ba\u015flatma<\/h4>\n<p>Selenium&#8217;un taray\u0131c\u0131 ile etkile\u015fime ge\u00e7ebilmesi i\u00e7in bir WebDriver nesnesi olu\u015fturman\u0131z gerekir. Bu ad\u0131mda, kullanaca\u011f\u0131n\u0131z taray\u0131c\u0131 s\u00fcr\u00fcc\u00fcs\u00fcn\u00fcn yolunu da belirtmelisiniz.<\/p>\n<pre><code class=\"language-java\">\/\/ Taray\u0131c\u0131 s\u00fcr\u00fcc\u00fcs\u00fcn\u00fcn yolunu belirtin.\n\/\/ Bu k\u0131s\u0131m, indirdi\u011finiz chromedriver.exe dosyas\u0131n\u0131n ger\u00e7ek yolunu i\u00e7ermelidir.\nSystem.setProperty(\"webdriver.chrome.driver\", \"C:\\\\drivers\\\\chromedriver.exe\"); \n\/\/ E\u011fer WebDriverManager kullan\u0131yorsan\u0131z, bu sat\u0131ra gerek kalmaz:\n\/\/ WebDriverManager.chromedriver().setup();\n\n\/\/ ChromeDriver nesnesini olu\u015fturun\nWebDriver driver = new ChromeDriver();<\/code><\/pre>\n<p><strong>Not:<\/strong> E\u011fer Maven ile <code>WebDriverManager<\/code> ba\u011f\u0131ml\u0131l\u0131\u011f\u0131n\u0131 eklediyseniz, <code>System.setProperty<\/code> sat\u0131r\u0131na gerek kalmaz. Bunun yerine <code>WebDriverManager.chromedriver().setup();<\/code> kodunu kullanabilirsiniz. Bu, s\u00fcr\u00fcc\u00fcy\u00fc otomatik olarak indirir ve yap\u0131land\u0131r\u0131r.<\/p>\n<h4>Bir Web Sitesini Ziyaret Etme<\/h4>\n<p><code>driver.get()<\/code> metodu ile istedi\u011finiz URL&#8217;ye gidebilirsiniz.<\/p>\n<pre><code class=\"language-java\">driver.get(\"https:\/\/www.google.com\");\ndriver.manage().window().maximize(); \/\/ Taray\u0131c\u0131 penceresini tam ekran yapar\ndriver.manage().timeouts().implicitlyWait(10, TimeUnit.SECONDS); \/\/ Sayfa y\u00fcklemesi i\u00e7in bekler<\/code><\/pre>\n<h4>Element Bulma ve Etkile\u015fim<\/h4>\n<p>Selenium, bir web sayfas\u0131ndaki elementleri bulmak i\u00e7in \u00e7e\u015fitli &#8220;locator&#8221; (konumland\u0131r\u0131c\u0131) stratejileri sunar:<\/p>\n<ul>\n<li><code>By.id(\"elementId\")<\/code>: Elementin <code>id<\/code> \u00f6zelli\u011fine g\u00f6re bulur. En h\u0131zl\u0131 ve g\u00fcvenilir y\u00f6ntemdir.<\/li>\n<li><code>By.name(\"elementName\")<\/code>: Elementin <code>name<\/code> \u00f6zelli\u011fine g\u00f6re bulur.<\/li>\n<li><code>By.className(\"elementClass\")<\/code>: Elementin <code>class<\/code> \u00f6zelli\u011fine g\u00f6re bulur. Birden fazla element ayn\u0131 s\u0131n\u0131fa sahip olabilir.<\/li>\n<li><code>By.tagName(\"tagName\")<\/code>: Elementin HTML etiket ad\u0131na g\u00f6re bulur (\u00f6rn: <code>input<\/code>, <code>a<\/code>, <code>div<\/code>).<\/li>\n<li><code>By.linkText(\"Link Text\")<\/code>: Ba\u011flant\u0131 metninin tamam\u0131na g\u00f6re bulur.<\/li>\n<li><code>By.partialLinkText(\"Partial Link Text\")<\/code>: Ba\u011flant\u0131 metninin bir k\u0131sm\u0131na g\u00f6re bulur.<\/li>\n<li><code>By.cssSelector(\"cssSelector\")<\/code>: CSS se\u00e7icileri kullanarak element bulur. Esnek ve g\u00fc\u00e7l\u00fc bir y\u00f6ntemdir.<\/li>\n<li><code>By.xpath(\"xpathExpression\")<\/code>: XPath ifadeleri kullanarak element bulur. En esnek ancak bazen en yava\u015f ve k\u0131r\u0131lgan y\u00f6ntemdir.<\/li>\n<\/ul>\n<p>Buldu\u011funuz bir <code>WebElement<\/code> nesnesi \u00fczerinde \u00e7e\u015fitli etkile\u015fim metotlar\u0131n\u0131 kullanabilirsiniz:<\/p>\n<ul>\n<li><code>sendKeys(\"metin\")<\/code>: Bir metin kutusuna metin girer.<\/li>\n<li><code>click()<\/code>: Bir d\u00fc\u011fmeye, ba\u011flant\u0131ya veya herhangi bir t\u0131klanabilir elemente t\u0131klar.<\/li>\n<li><code>submit()<\/code>: Bir formu g\u00f6nderir (genellikle bir arama kutusuna <code>sendKeys<\/code> yap\u0131p ard\u0131ndan bu metodu \u00e7a\u011f\u0131rmak arama d\u00fc\u011fmesine t\u0131klamakla ayn\u0131 etkiyi yapar).<\/li>\n<li><code>getText()<\/code>: Elementin g\u00f6r\u00fcn\u00fcr metnini al\u0131r.<\/li>\n<li><code>getAttribute(\"attributeName\")<\/code>: Elementin belirli bir \u00f6zelli\u011finin de\u011ferini al\u0131r (\u00f6rn: <code>value<\/code>, <code>href<\/code>).<\/li>\n<\/ul>\n<h4>Testi Sonland\u0131rma<\/h4>\n<p>Test senaryonuz bittikten sonra, a\u00e7t\u0131\u011f\u0131n\u0131z taray\u0131c\u0131 penceresini kapatmak ve WebDriver oturumunu sonland\u0131rmak \u00f6nemlidir.<\/p>\n<ul>\n<li><code>driver.close()<\/code>: Sadece mevcut taray\u0131c\u0131 penceresini kapat\u0131r. E\u011fer birden fazla pencere a\u00e7\u0131ksa di\u011ferleri a\u00e7\u0131k kal\u0131r.<\/li>\n<li><code>driver.quit()<\/code>: A\u00e7\u0131k olan t\u00fcm taray\u0131c\u0131 pencerelerini kapat\u0131r ve WebDriver oturumunu tamamen sonland\u0131r\u0131r. Genellikle test senaryolar\u0131n\u0131n sonunda tercih edilen y\u00f6ntem budur.<\/li>\n<\/ul>\n<h4>\u00d6rnek Kod<\/h4>\n<p>A\u015fa\u011f\u0131da, Google&#8217;da &#8220;Selenium WebDriver&#8221; aratan ve sonu\u00e7 sayfas\u0131n\u0131n ba\u015fl\u0131\u011f\u0131n\u0131 kontrol eden basit bir test senaryosu bulunmaktad\u0131r:<\/p>\n<pre><code class=\"language-java\">package com.selenium.tests; \/\/ Kendi paket ad\u0131n\u0131z\u0131 kullan\u0131n\n\nimport org.openqa.selenium.By;\nimport org.openqa.selenium.WebDriver;\nimport org.openqa.selenium.WebElement;\nimport org.openqa.selenium.chrome.ChromeDriver;\nimport java.util.concurrent.TimeUnit; \/\/ Implicit wait i\u00e7in\n\n\/\/ E\u011fer Maven ile WebDriverManager kullan\u0131yorsan\u0131z, bu sat\u0131r\u0131 ekleyin:\n\/\/ import io.github.bonigarcia.wdm.WebDriverManager;\n\npublic class SimpleSeleniumTest {\n\n    public static void main(String[] args) {\n        \/\/ 1. Taray\u0131c\u0131 s\u00fcr\u00fcc\u00fcs\u00fcn\u00fcn yolunu belirtin\n        \/\/ Kendi chromedriver.exe dosyan\u0131z\u0131n yolunu buraya yaz\u0131n\n        \/\/ \u00d6rne\u011fin: \"C:\\\\drivers\\\\chromedriver.exe\" veya \"\/Users\/username\/drivers\/chromedriver\"\n        System.setProperty(\"webdriver.chrome.driver\", \"C:\\\\drivers\\\\chromedriver.exe\"); \n        \n        \/\/ VEYA WebDriverManager kullan\u0131yorsan\u0131z (Maven projesi i\u00e7in):\n        \/\/ WebDriverManager.chromedriver().setup();\n        \n        \/\/ 2. WebDriver nesnesini ba\u015flat\u0131n\n        WebDriver driver = new ChromeDriver();\n        \n        \/\/ Opsiyonel: Sayfa y\u00fckleme s\u00fcrelerini beklemek i\u00e7in implicit wait ekleme\n        \/\/ Belirtilen s\u00fcre i\u00e7inde element bulunamazsa hata verir.\n        driver.manage().timeouts().implicitlyWait(10, TimeUnit.SECONDS);\n        \n        try {\n            \/\/ 3. Bir web sitesini ziyaret edin\n            driver.get(\"https:\/\/www.google.com\");\n            System.out.println(\"Google ana sayfas\u0131 a\u00e7\u0131ld\u0131.\");\n\n            \/\/ Taray\u0131c\u0131 penceresini maksimize et\n            driver.manage().window().maximize();\n            \n            \/\/ 4. Bir web elementini bulun ve etkile\u015fim kurun\n            \/\/ Google arama kutusunu bulun (name attribute'u 'q' olan)\n            WebElement searchBox = driver.findElement(By.name(\"q\"));\n            searchBox.sendKeys(\"Selenium WebDriver\");\n            System.out.println(\"Arama kutusuna 'Selenium WebDriver' yaz\u0131ld\u0131.\");\n\n            \/\/ Arama d\u00fc\u011fmesine t\u0131klay\u0131n veya formu g\u00f6nderin\n            \/\/ Google'da Enter tu\u015funa basmak da i\u015fe yarar\n            searchBox.submit(); \/\/ Bu, formu g\u00f6nderir, genellikle arama d\u00fc\u011fmesine basmakla ayn\u0131 etkiyi yapar.\n            System.out.println(\"Arama yap\u0131ld\u0131.\");\n            \n            \/\/ Sonu\u00e7 sayfas\u0131n\u0131n ba\u015fl\u0131\u011f\u0131n\u0131 kontrol edin\n            String pageTitle = driver.getTitle();\n            System.out.println(\"Sayfa Ba\u015fl\u0131\u011f\u0131: \" + pageTitle);\n            \n            if (pageTitle.contains(\"Selenium WebDriver\")) {\n                System.out.println(\"Test BA\u015eARILI: Ba\u015fl\u0131k 'Selenium WebDriver' i\u00e7eriyor.\");\n            } else {\n                System.out.println(\"Test BA\u015eARISIZ: Ba\u015fl\u0131k 'Selenium WebDriver' i\u00e7ermiyor.\");\n            }\n\n        } catch (Exception e) {\n            System.err.println(\"Test s\u0131ras\u0131nda bir hata olu\u015ftu: \" + e.getMessage());\n            e.printStackTrace();\n        } finally {\n            \/\/ 5. WebDriver oturumunu kapat\u0131n\n            \/\/ T\u00fcm taray\u0131c\u0131 pencerelerini kapat\u0131r ve s\u00fcr\u00fcc\u00fc oturumunu sonland\u0131r\u0131r.\n            driver.quit();\n            System.out.println(\"Taray\u0131c\u0131 kapat\u0131ld\u0131.\");\n        }\n    }\n}<\/code><\/pre>\n<p>Bu kodu Eclipse&#8217;te olu\u015fturdu\u011funuz projenin <code>src<\/code> klas\u00f6r\u00fcn\u00fcn alt\u0131na yeni bir Java s\u0131n\u0131f\u0131 olarak kaydedin ve \u00e7al\u0131\u015ft\u0131r\u0131n. Konsolda ad\u0131mlar\u0131 ve test sonucunu g\u00f6rmelisiniz.<\/p>\n<h3>S\u0131k Kar\u015f\u0131la\u015f\u0131lan Sorunlar ve \u00c7\u00f6z\u00fcmleri<\/h3>\n<p>Selenium ile \u00e7al\u0131\u015fmaya ba\u015flarken baz\u0131 yayg\u0131n sorunlarla kar\u015f\u0131la\u015fabilirsiniz. \u0130\u015fte bunlardan baz\u0131lar\u0131 ve \u00e7\u00f6z\u00fcmleri:<\/p>\n<h4>WebDriver Yolu Hatas\u0131 (System.setProperty)<\/h4>\n<ul>\n<li><b>Hata Mesaj\u0131:<\/b> <code>IllegalStateException: The path to the driver executable must be set by the webdriver.chrome.driver system property; for more information, see https:\/\/chromedriver.chromium.org\/home<\/code> (veya benzeri bir mesaj)<\/li>\n<li><b>Neden:<\/b> Selenium, taray\u0131c\u0131 s\u00fcr\u00fcc\u00fcs\u00fcn\u00fcn (\u00f6rne\u011fin <code>chromedriver.exe<\/code>) nerede oldu\u011funu bulam\u0131yor.<\/li>\n<li><b>\u00c7\u00f6z\u00fcm:<\/b>\n<ol>\n<li><code>System.setProperty()<\/code> metodunda belirtti\u011finiz yolun, s\u00fcr\u00fcc\u00fc dosyas\u0131n\u0131n ger\u00e7ek konumu oldu\u011fundan emin olun.<\/li>\n<li>S\u00fcr\u00fcc\u00fc dosyas\u0131n\u0131n ad\u0131n\u0131n do\u011fru yaz\u0131ld\u0131\u011f\u0131ndan emin olun (\u00f6rn: <code>chromedriver.exe<\/code> veya <code>geckodriver<\/code>).<\/li>\n<li>S\u00fcr\u00fcc\u00fc dosyas\u0131n\u0131n ger\u00e7ekten belirtilen yolda var oldu\u011funu ve eri\u015fim izinlerinin oldu\u011funu kontrol edin.<\/li>\n<li>E\u011fer Maven kullan\u0131yorsan\u0131z ve <code>WebDriverManager<\/code> eklediyseniz, <code>System.setProperty()<\/code> sat\u0131r\u0131n\u0131 silip <code>WebDriverManager.chromedriver().setup();<\/code> gibi ilgili <code>setup()<\/code> metodunu kulland\u0131\u011f\u0131n\u0131zdan emin olun.<\/li>\n<\/ol>\n<\/li>\n<\/ul>\n<h4>Selenium JAR Dosyalar\u0131n\u0131n Eksik Olmas\u0131<\/h4>\n<ul>\n<li><b>Hata Mesaj\u0131:<\/b> <code>NoClassDefFoundError<\/code>, <code>ClassNotFoundException<\/code> gibi hatalar veya Selenium s\u0131n\u0131flar\u0131n\u0131 i\u00e7e aktar\u0131rken (import) Eclipse&#8217;in hata vermesi.<\/li>\n<li><b>Neden:<\/b> Selenium k\u00fct\u00fcphane JAR dosyalar\u0131, projenizin derleme yoluna do\u011fru bir \u015fekilde eklenmemi\u015ftir.<\/li>\n<li><b>\u00c7\u00f6z\u00fcm:<\/b>\n<ol>\n<li>Projenizin <code>Java Build Path > Libraries<\/code> sekmesinde, ana <code>selenium-java-x.x.x.jar<\/code> dosyas\u0131n\u0131n ve <code>lib<\/code> klas\u00f6r\u00fcndeki t\u00fcm di\u011fer JAR dosyalar\u0131n\u0131n eksiksiz bir \u015fekilde eklendi\u011finden emin olun.<\/li>\n<li>E\u011fer Maven kullan\u0131yorsan\u0131z, <code>pom.xml<\/code> dosyan\u0131zdaki Selenium ba\u011f\u0131ml\u0131l\u0131\u011f\u0131n\u0131n do\u011fru yaz\u0131ld\u0131\u011f\u0131ndan ve kaydedildi\u011finden emin olun. Eclipse&#8217;in Maven ba\u011f\u0131ml\u0131l\u0131klar\u0131n\u0131 indirmesi i\u00e7in projenize sa\u011f t\u0131klay\u0131p <code>Maven > Update Project...<\/code> se\u00e7ene\u011fini kullanabilirsiniz.<\/li>\n<li>Bazen Eclipse&#8217;in \u00f6nbelle\u011fi sorun \u00e7\u0131karabilir. <code>Project > Clean...<\/code> se\u00e7ene\u011fini kullanarak projenizi temizleyip yeniden derlemek yard\u0131mc\u0131 olabilir.<\/li>\n<\/ol>\n<\/li>\n<\/ul>\n<h4>Taray\u0131c\u0131 Uyumluluk Sorunlar\u0131<\/h4>\n<ul>\n<li><b>Hata Mesaj\u0131:<\/b> <code>SessionNotCreatedException: Message: session not created: This version of ChromeDriver only supports Chrome version XX<\/code> (veya benzeri bir mesaj)<\/li>\n<li><b>Neden:<\/b> \u0130ndirdi\u011finiz taray\u0131c\u0131 s\u00fcr\u00fcc\u00fcs\u00fc (\u00f6rn: ChromeDriver) ile bilgisayar\u0131n\u0131zda y\u00fckl\u00fc olan taray\u0131c\u0131n\u0131n (\u00f6rn: Google Chrome) s\u00fcr\u00fcm\u00fc uyumsuz.<\/li>\n<li><b>\u00c7\u00f6z\u00fcm:<\/b>\n<ol>\n<li>Taray\u0131c\u0131n\u0131z\u0131n (Chrome, Firefox, Edge vb.) g\u00fcncel oldu\u011fundan emin olun.<\/li>\n<li>Taray\u0131c\u0131 s\u00fcr\u00fcm\u00fcn\u00fcze tamamen uygun olan taray\u0131c\u0131 s\u00fcr\u00fcc\u00fcs\u00fcn\u00fc (ChromeDriver, GeckoDriver vb.) indirdi\u011finizden emin olun. Genellikle s\u00fcr\u00fcc\u00fc indirme sayfalar\u0131nda hangi s\u00fcr\u00fcc\u00fcn\u00fcn hangi taray\u0131c\u0131 s\u00fcr\u00fcm\u00fcn\u00fc destekledi\u011fi belirtilir.<\/li>\n<li>E\u011fer <code>WebDriverManager<\/code> kullan\u0131yorsan\u0131z, bu k\u00fct\u00fcphane taray\u0131c\u0131n\u0131z\u0131n s\u00fcr\u00fcm\u00fcn\u00fc otomatik olarak alg\u0131lay\u0131p uyumlu s\u00fcr\u00fcc\u00fcy\u00fc indirece\u011fi i\u00e7in bu t\u00fcr sorunlarla kar\u015f\u0131la\u015fma olas\u0131l\u0131\u011f\u0131n\u0131z azal\u0131r.<\/li>\n<\/ol>\n<\/li>\n<\/ul>\n<h4>Element Bulunamama (NoSuchElementException)<\/h4>\n<ul>\n<li><b>Hata Mesaj\u0131:<\/b> <code>NoSuchElementException: no such element: Unable to locate element: {\"method\":\"id\",\"selector\":\"elementId\"}<\/code> (veya kulland\u0131\u011f\u0131n\u0131z locator&#8217;a g\u00f6re benzeri)<\/li>\n<li><b>Neden:<\/b> Selenium, belirtilen locator (ID, name, XPath vb.) ile web sayfas\u0131nda elementi bulam\u0131yor.<\/li>\n<li><\/body><br \/>\n","protected":false},"excerpt":{"rendered":"Selenium JAR Dosyalar\u0131n\u0131 \u0130ndirme ve Eclipse&#8217;te Yap\u0131land\u0131rma\nGiri\u015f: Selenium ve Otomasyon Testlerinin \u00d6nemi\nG\u00fcn\u00fcm\u00fcz\u00fcn h\u0131zla geli\u015fen yaz\u0131","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"csco_page_header_type":"","csco_page_load_nextpost":"","csco_page_subscribe_form":"","csco_page_contact_form":"","footnotes":""},"categories":[1],"tags":[],"class_list":{"0":"post-38515","1":"post","2":"type-post","3":"status-publish","4":"format-standard","6":"category-genel","7":"cs-entry","8":"cs-video-wrap"},"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v20.5 (Yoast SEO v25.3.1) - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Selenium JAR Dosyalar\u0131n\u0131 \u0130ndirme ve Eclipse&#039;te Yap\u0131land\u0131rma - Kodlar\u0131n Gizemli D\u00fcnyas\u0131<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/fatihsoysal.com\/blog\/selenium-jar-dosyalarini-indirme-ve-eclipsete-yapilandirma\/\" \/>\n<meta property=\"og:locale\" content=\"tr_TR\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Selenium JAR Dosyalar\u0131n\u0131 \u0130ndirme ve Eclipse&#039;te Yap\u0131land\u0131rma\" \/>\n<meta property=\"og:description\" content=\"Selenium JAR Dosyalar\u0131n\u0131 \u0130ndirme ve Eclipse&#039;te Yap\u0131land\u0131rma Giri\u015f: Selenium ve Otomasyon Testlerinin \u00d6nemi G\u00fcn\u00fcm\u00fcz\u00fcn h\u0131zla geli\u015fen yaz\u0131\" \/>\n<meta property=\"og:url\" content=\"https:\/\/fatihsoysal.com\/blog\/selenium-jar-dosyalarini-indirme-ve-eclipsete-yapilandirma\/\" \/>\n<meta property=\"og:site_name\" content=\"Kodlar\u0131n Gizemli D\u00fcnyas\u0131\" \/>\n<meta property=\"article:published_time\" content=\"2026-02-01T19:41:04+00:00\" \/>\n<meta name=\"author\" content=\"Fatih Soysal\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Yazan:\" \/>\n\t<meta name=\"twitter:data1\" content=\"Fatih Soysal\" \/>\n\t<meta name=\"twitter:label2\" content=\"Tahmini okuma s\u00fcresi\" \/>\n\t<meta name=\"twitter:data2\" content=\"21 dakika\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/selenium-jar-dosyalarini-indirme-ve-eclipsete-yapilandirma\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/selenium-jar-dosyalarini-indirme-ve-eclipsete-yapilandirma\/\"},\"author\":{\"name\":\"Fatih Soysal\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1\"},\"headline\":\"Selenium JAR Dosyalar\u0131n\u0131 \u0130ndirme ve Eclipse&#8217;te Yap\u0131land\u0131rma\",\"datePublished\":\"2026-02-01T19:41:04+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/selenium-jar-dosyalarini-indirme-ve-eclipsete-yapilandirma\/\"},\"wordCount\":3539,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1\"},\"inLanguage\":\"tr\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/fatihsoysal.com\/blog\/selenium-jar-dosyalarini-indirme-ve-eclipsete-yapilandirma\/#respond\"]}],\"copyrightYear\":\"2026\",\"copyrightHolder\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/selenium-jar-dosyalarini-indirme-ve-eclipsete-yapilandirma\/\",\"url\":\"https:\/\/fatihsoysal.com\/blog\/selenium-jar-dosyalarini-indirme-ve-eclipsete-yapilandirma\/\",\"name\":\"Selenium JAR Dosyalar\u0131n\u0131 \u0130ndirme ve Eclipse'te Yap\u0131land\u0131rma - Kodlar\u0131n Gizemli D\u00fcnyas\u0131\",\"isPartOf\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#website\"},\"datePublished\":\"2026-02-01T19:41:04+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/selenium-jar-dosyalarini-indirme-ve-eclipsete-yapilandirma\/#breadcrumb\"},\"inLanguage\":\"tr\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/fatihsoysal.com\/blog\/selenium-jar-dosyalarini-indirme-ve-eclipsete-yapilandirma\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/selenium-jar-dosyalarini-indirme-ve-eclipsete-yapilandirma\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Anasayfa\",\"item\":\"https:\/\/fatihsoysal.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Selenium JAR Dosyalar\u0131n\u0131 \u0130ndirme ve Eclipse&#8217;te Yap\u0131land\u0131rma\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#website\",\"url\":\"https:\/\/fatihsoysal.com\/blog\/\",\"name\":\"Fatihsoysal.com\",\"description\":\"Blog - Yaz\u0131l\u0131m D\u00fcnyas\u0131 Tecr\u00fcbelerim\",\"publisher\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/fatihsoysal.com\/blog\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"tr\"},{\"@type\":[\"Person\",\"Organization\"],\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1\",\"name\":\"Fatih Soysal\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"tr\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/fatihsoysal.com\/blog\/wp-content\/uploads\/2024\/04\/cropped-replicate-prediction-3kgg1hgjn5rgp0cf0p5tr0jw7w-1.png\",\"contentUrl\":\"https:\/\/fatihsoysal.com\/blog\/wp-content\/uploads\/2024\/04\/cropped-replicate-prediction-3kgg1hgjn5rgp0cf0p5tr0jw7w-1.png\",\"width\":512,\"height\":512,\"caption\":\"Fatih Soysal\"},\"logo\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/image\/\"},\"description\":\"Kullan\u0131m ve kodlama m\u00fckemmeliyetini odak alan uygulamalar olu\u015fturma deneyimine sahip, profesyonel olarak 15+ y\u0131l \u00fczeri deneyime sahip bir yaz\u0131l\u0131m m\u00fchendisi.\",\"url\":\"https:\/\/fatihsoysal.com\/blog\/author\/fatihsoysal\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"Selenium JAR Dosyalar\u0131n\u0131 \u0130ndirme ve Eclipse'te Yap\u0131land\u0131rma - Kodlar\u0131n Gizemli D\u00fcnyas\u0131","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/fatihsoysal.com\/blog\/selenium-jar-dosyalarini-indirme-ve-eclipsete-yapilandirma\/","og_locale":"tr_TR","og_type":"article","og_title":"Selenium JAR Dosyalar\u0131n\u0131 \u0130ndirme ve Eclipse'te Yap\u0131land\u0131rma","og_description":"Selenium JAR Dosyalar\u0131n\u0131 \u0130ndirme ve Eclipse'te Yap\u0131land\u0131rma Giri\u015f: Selenium ve Otomasyon Testlerinin \u00d6nemi G\u00fcn\u00fcm\u00fcz\u00fcn h\u0131zla geli\u015fen yaz\u0131","og_url":"https:\/\/fatihsoysal.com\/blog\/selenium-jar-dosyalarini-indirme-ve-eclipsete-yapilandirma\/","og_site_name":"Kodlar\u0131n Gizemli D\u00fcnyas\u0131","article_published_time":"2026-02-01T19:41:04+00:00","author":"Fatih Soysal","twitter_card":"summary_large_image","twitter_misc":{"Yazan:":"Fatih Soysal","Tahmini okuma s\u00fcresi":"21 dakika"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/fatihsoysal.com\/blog\/selenium-jar-dosyalarini-indirme-ve-eclipsete-yapilandirma\/#article","isPartOf":{"@id":"https:\/\/fatihsoysal.com\/blog\/selenium-jar-dosyalarini-indirme-ve-eclipsete-yapilandirma\/"},"author":{"name":"Fatih Soysal","@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1"},"headline":"Selenium JAR Dosyalar\u0131n\u0131 \u0130ndirme ve Eclipse&#8217;te Yap\u0131land\u0131rma","datePublished":"2026-02-01T19:41:04+00:00","mainEntityOfPage":{"@id":"https:\/\/fatihsoysal.com\/blog\/selenium-jar-dosyalarini-indirme-ve-eclipsete-yapilandirma\/"},"wordCount":3539,"commentCount":0,"publisher":{"@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1"},"inLanguage":"tr","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/fatihsoysal.com\/blog\/selenium-jar-dosyalarini-indirme-ve-eclipsete-yapilandirma\/#respond"]}],"copyrightYear":"2026","copyrightHolder":{"@id":"https:\/\/fatihsoysal.com\/blog\/#organization"}},{"@type":"WebPage","@id":"https:\/\/fatihsoysal.com\/blog\/selenium-jar-dosyalarini-indirme-ve-eclipsete-yapilandirma\/","url":"https:\/\/fatihsoysal.com\/blog\/selenium-jar-dosyalarini-indirme-ve-eclipsete-yapilandirma\/","name":"Selenium JAR Dosyalar\u0131n\u0131 \u0130ndirme ve Eclipse'te Yap\u0131land\u0131rma - Kodlar\u0131n Gizemli D\u00fcnyas\u0131","isPartOf":{"@id":"https:\/\/fatihsoysal.com\/blog\/#website"},"datePublished":"2026-02-01T19:41:04+00:00","breadcrumb":{"@id":"https:\/\/fatihsoysal.com\/blog\/selenium-jar-dosyalarini-indirme-ve-eclipsete-yapilandirma\/#breadcrumb"},"inLanguage":"tr","potentialAction":[{"@type":"ReadAction","target":["https:\/\/fatihsoysal.com\/blog\/selenium-jar-dosyalarini-indirme-ve-eclipsete-yapilandirma\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/fatihsoysal.com\/blog\/selenium-jar-dosyalarini-indirme-ve-eclipsete-yapilandirma\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Anasayfa","item":"https:\/\/fatihsoysal.com\/blog\/"},{"@type":"ListItem","position":2,"name":"Selenium JAR Dosyalar\u0131n\u0131 \u0130ndirme ve Eclipse&#8217;te Yap\u0131land\u0131rma"}]},{"@type":"WebSite","@id":"https:\/\/fatihsoysal.com\/blog\/#website","url":"https:\/\/fatihsoysal.com\/blog\/","name":"Fatihsoysal.com","description":"Blog - Yaz\u0131l\u0131m D\u00fcnyas\u0131 Tecr\u00fcbelerim","publisher":{"@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/fatihsoysal.com\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"tr"},{"@type":["Person","Organization"],"@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1","name":"Fatih Soysal","image":{"@type":"ImageObject","inLanguage":"tr","@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/image\/","url":"https:\/\/fatihsoysal.com\/blog\/wp-content\/uploads\/2024\/04\/cropped-replicate-prediction-3kgg1hgjn5rgp0cf0p5tr0jw7w-1.png","contentUrl":"https:\/\/fatihsoysal.com\/blog\/wp-content\/uploads\/2024\/04\/cropped-replicate-prediction-3kgg1hgjn5rgp0cf0p5tr0jw7w-1.png","width":512,"height":512,"caption":"Fatih Soysal"},"logo":{"@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/image\/"},"description":"Kullan\u0131m ve kodlama m\u00fckemmeliyetini odak alan uygulamalar olu\u015fturma deneyimine sahip, profesyonel olarak 15+ y\u0131l \u00fczeri deneyime sahip bir yaz\u0131l\u0131m m\u00fchendisi.","url":"https:\/\/fatihsoysal.com\/blog\/author\/fatihsoysal\/"}]}},"yoast_meta":{"yoast_wpseo_title":"","yoast_wpseo_metadesc":"","yoast_wpseo_canonical":""},"amp_enabled":true,"_links":{"self":[{"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/posts\/38515","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/comments?post=38515"}],"version-history":[{"count":1,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/posts\/38515\/revisions"}],"predecessor-version":[{"id":38516,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/posts\/38515\/revisions\/38516"}],"wp:attachment":[{"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/media?parent=38515"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/categories?post=38515"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/tags?post=38515"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}