Csharp Selenium ChromeDriverService Kullanımı
ChromeDriverService, Selenium ile web tarayıcılarını otomatize etmek için kullanılan bir bileşendir.
Özellikle Google Chrome tarayıcısını otomatikleştirmek için kullanılır. ChromeDriverService, ChromeDriver'ın başlatılmasını ve yapılandırılmasını yönetir.
Selenium C# kütüphanesindeki ChromeDriverService sınıfının aşağıdaki kullandığımız methodları hakkında bilgi vermek istiyorum:
- Start(): ChromeDriver hizmetini başlatmak için kullanılır.
- Stop(): ChromeDriver hizmetini durdurmak için kullanılır.
- Dispose(): ChromeDriverService nesnesini temizlemek ve kaynakları serbest bırakmak için kullanılır.
- ToString(): ChromeDriverService nesnesinin dizesini döndürür.Bu yöntemler, ChromeDriver hizmetini başlatma, durdurma ve ChromeDriverService nesnesi ile ilgili temel işlevleri yönetmek için kullanılır.
- Start() Yöntemi:Bu yöntem, ChromeDriver hizmetini başlatmak için kullanılır.
Temel adımları:- Bir Process nesnesi oluşturulur ve bu nesne ChromeDriver hizmetini başlatmak için kullanılır.
- Hizmetin dosya yoluna ve komut satırı argümanlarına ilişkin ayarlamalar yapılır.
- DriverProcessStarting adlı olay tetiklenir ve kullanıcı tarafından dinlenebilir.
- ChromeDriver hizmeti başlatılır.
- Hizmetin başlatılması tamamlanana kadar beklenir ve DriverProcessStarted adlı olay tetiklenir.Eğer hizmet başlatılamazsa, bir WebDriverException istisnası fırlatılır.
- Stop() Yöntemi:Bu yöntem, ChromeDriver hizmetini durdurmak için kullanılır.Bu hizmetin işlevi, hizmeti başlatan Start() yöntemi ile zıttır. Start() ile başlatılan hizmeti sonlandırır.
- Dispose() Yöntemi:Bu yöntem, ChromeDriverService nesnesini temizlemek ve kaynakları serbest bırakmak için kullanılır.Kullanıldığında, hizmetin başlatılması veya durdurulmasıyla ilgili işlemleri sonlandırır.
- AndroidDebugBridgePort
- DisableBuildCheck
- DriverServiceExecutableName
- DriverServicePath
- EnableAppendLog
- EnableVerboseLogging
- HideCommandPromptWindow
- HostName
- InitializationTimeout
- IsRunning
- LogPath
- Port
- PortServerAddress
- ProcessId
- ServiceUrl
- SuppressInitialDiagnosticInformation
- UrlPathPrefix
- WhitelistedIPAddresses
AndroidDebugBridgePort: Android Hata Ayıklama Köprüsü (ADB) tarafından komutları dinlemek için kullanılan portu temsil eder. Bu özellikin değeri ayarlanabilir.
EnableVerboseLogging: ChromeDriver yürütülebilir dosyası için ayrıntılı günlükleme (verbose logging) etkinleştirip etkinleştirmediğini belirler. Varsayılan olarak false değerindedir.
LogPath: ChromeDriver yürütülebilir dosyasının oluşturduğu günlüğün kaydedileceği dosyanın yolunu temsil eder. Bu dosya belirtilen yolda oluşturulur.
PortServerAddress: Port rezervasyonu için iletişim kurulacak sunucunun adresini temsil eder.
UrlPathPrefix: Komutlar için temel URL yol öneğini (prefix) belirler. Örneğin, "wd/url" gibi bir önek belirtilebilir.
WhitelistedIPAddresses: ChromeDriver'a bağlanmasına izin verilen IP adreslerinin virgülle ayrılmış bir listesini temsil eder. Varsayılan olarak boş bir dizedir ve yalnızca yerel döngü geri adresine (localhost) bağlanmaya izin verir.
DisableBuildCheck: ChromeDriver hizmetinin başlatılmasında kullanılan bir özelliktir. Bu özellik, ChromeDriver hizmetinin çalıştırılmasında bir derleme kontrolünün devre dışı bırakılıp bırakılmayacağını belirler. Derleme kontrolü, ChromeDriver'ın yürütülebilir dosyasının bütünlüğünü ve sürümünü kontrol etmeye yarar.
Eğer DisableBuildCheck özelliği true olarak ayarlanırsa, derleme kontrolü devre dışı bırakılır. Bu, ChromeDriver'ın yürütülebilir dosyasının sürüm veya bütünlüğü ile ilgili bir kontrol yapmadan hizmeti başlatmanıza olanak tanır.
Özellikle geliştirme ve hata ayıklama amaçları için bu özelliği kullanabilirsiniz. Ancak, üretim ortamlarında genellikle derleme kontrolü etkinleştirilmiş olmalıdır.
Eğer ChromeDriver'ın güncel bir sürümünü kullanıyorsanız ve herhangi bir uyumsuzluk veya bütünlük sorunu yaşamıyorsanız, bu özelliği devre dışı bırakmanızda bir sakınca olmayabilir.
DriverServiceExecutableName: ChromeDriverService sınıfında kullanılan bir özelliktir. Bu özellik, ChromeDriver hizmetini başlatmak için kullanılacak ChromeDriver yürütülebilir dosyasının adını (dosya adını) temsil eder.
Bu özellik, ChromeDriverService örneği oluşturulurken veya yapılandırılırken kullanılır. Örneğin, DriverServiceExecutableName özelliği kullanılarak hangi ChromeDriver yürütülebilir dosyanın kullanılacağı belirlenebilir. Varsayılan olarak, bu özellik "chromedriver.exe" veya "chromedriver" gibi ChromeDriver'ın varsayılan yürütülebilir dosyasının adını içerir.
Özellikle ChromeDriver'ın farklı bir sürümünü veya farklı bir yürütülebilir dosyasını kullanmak istediğinizde, DriverServiceExecutableName özelliğini kullanarak hangi dosyanın kullanılacağını belirtebilirsiniz. Bu şekilde, ChromeDriver hizmetini özelleştirebilir ve farklı sürümleri veya yürütülebilir dosyaları kullanabilirsiniz.
DriverServicePath: ChromeDriverService sınıfında kullanılan bir özelliktir. Bu özellik, ChromeDriver hizmetini başlatırken kullanılacak ChromeDriver yürütülebilir dosyanın fiziksel dosya yolunu temsil eder.
Bu özellik, ChromeDriverService örneği oluşturulurken veya yapılandırılırken kullanılır. Varsayılan olarak, ChromeDriver hizmeti, ChromeDriver'ın çalıştırılabilir dosyasının mevcut olduğu dizinden yüklenir.
Ancak, farklı bir yürütülebilir dosyanın kullanılmasını veya yürütülebilir dosyanın farklı bir konumda bulunmasını istiyorsanız, DriverServicePath özelliğini kullanarak dosya yolunu belirtebilirsiniz.
EnableAppendLog: ChromeDriverService sınıfında kullanılan bir özelliktir. Bu özellik, ChromeDriver hizmeti tarafından oluşturulan günlük dosyasına yeni bilgilerin eklenip eklenmeyeceğini belirler.
Varsayılan olarak, EnableAppendLog özelliği false değerindedir, yani günlük dosyası her başlatmada sıfırlanır. Yani her seferinde yeni bir günlük dosyası oluşturulur. Ancak, bu özelliği true olarak ayarlarsanız, günlük dosyasına her başlatma sırasında yeni bilgiler eklenir ve mevcut günlük dosyası korunur.
HideCommandPromptWindow: ChromeDriverService sınıfında kullanılan bir özelliktir. Bu özellik, ChromeDriver hizmeti başlatılırken komut istemini (command prompt) gizlemek veya görünür kılmak için kullanılır.
Varsayılan olarak, HideCommandPromptWindow özelliği true değerindedir, bu da demek oluyor ki ChromeDriver hizmeti başlatılırken komut istemi penceresi gizlenir. Bu, kullanıcıya herhangi bir komut istemi penceresi gösterilmez.
Eğer HideCommandPromptWindow özelliğini false olarak ayarlarsanız, ChromeDriver hizmeti başlatılırken komut istemi penceresi görünür olacaktır.
HostName: ChromeDriverService sınıfında kullanılan bir özelliktir. Bu özellik, ChromeDriver hizmetinin çalıştığı bilgisayarın adını (hostname) temsil eder.
Varsayılan olarak, HostName özelliği boş bir dizedir ve ChromeDriver hizmeti, yerel bilgisayarın adını kullanır. Ancak bu özelliği belirlediğinizde, ChromeDriver hizmetini farklı bir bilgisayar veya sunucu üzerinde çalıştırabilirsiniz.
InitializationTimeout: ChromeDriverService sınıfında kullanılan bir özelliktir. Bu özellik, ChromeDriver hizmetinin başlatma süresinin ne kadar olacağını belirler.
Varsayılan olarak, InitializationTimeout özelliği 60 saniyedir. Yani ChromeDriver hizmeti başlatılmaya çalışıldığında, başlatma işlemi en fazla 60 saniye sürebilir. Eğer başlatma işlemi bu süre içinde tamamlanmazsa, bir süre aşımı hatası (timeout error) alınabilir.
Bu özellik, başlatma işlemi için özel bir süre aşımı süresi belirlemek istediğinizde kullanışlıdır. Özellikle ChromeDriver'ın başlatılması uzun sürüyorsa veya beklenmedik sorunlarla karşılaşıyorsanız, InitializationTimeout özelliğini artırarak süre aşımı hatasını önleyebilirsiniz.
IsRunning: ChromeDriverService sınıfında kullanılan bir özelliktir. Bu özellik, ChromeDriver hizmetinin çalışıp çalışmadığını belirler.
IsRunning özelliği bool veri türünde bir değer döndürür. Eğer ChromeDriver hizmeti çalışıyorsa (true), değeri true olur. Eğer hizmet çalışmıyorsa (false), değeri false olur.
Bu özellik, özellikle ChromeDriver hizmetinin çalışıp çalışmadığını kontrol etmek istediğinizde kullanışlıdır. Örneğin, ChromeDriver hizmetini başlatırken veya sonlandırırken IsRunning özelliğini kullanarak hizmetin durumunu kontrol edebilirsiniz.
Port: ChromeDriverService sınıfında kullanılan bir özelliktir. Bu özellik, ChromeDriver hizmetinin hangi bağlantı noktasını kullanacağını belirler. Tarayıcı otomasyon işlemleri bu bağlantı noktası üzerinden gerçekleştirilir.
Ancak, Port özelliğini kullanarak farklı bir bağlantı noktasını belirleyebilirsiniz. Bu, farklı bir bağlantı noktası kullanmak istediğiniz durumlarda veya bağlantı noktası çakışmalarını önlemek istediğinizde faydalı olabilir.
ProcessId: ChromeDriverService sınıfında kullanılan bir özelliktir. Bu özellik, ChromeDriver hizmeti tarafından kullanılan işlem (process) kimliğini (ID) temsil eder.
ProcessId özelliği, bir ChromeDriver hizmeti başlatıldığında kullanılabilir hale gelir. Bu özellik, ChromeDriver hizmetinin işlem kimliğini döndürür. Eğer hizmet çalışıyorsa ve işlem başlatıldıysa, bu özelliği kullanarak hizmetin işlem kimliğini alabilirsiniz.
Eğer ChromeDriver hizmeti başlatılmadan veya hizmet çalışmıyorsa, ProcessId özelliği değeri 0 olacaktır. Bu, hizmetin işlem kimliğinin henüz belirlenmediği veya hizmetin çalışmadığı anlamına gelir.
ServiceUrl: ChromeDriverService sınıfında kullanılan bir özelliktir. Bu özellik, ChromeDriver hizmetinin çalıştığı adresin URI (Uniform Resource Identifier) temsilini sağlar.
ServiceUrl özelliği, ChromeDriver hizmetinin çalıştığı adresin tam URI'sini döndürür. Örneğin, http://localhost:1815 gibi bir URI olabilir. Bu adres, ChromeDriver hizmetinin yerel makinede ve varsayılan bağlantı noktasında çalıştığı durumu temsil edebilir.
Bu özellik, genellikle ChromeDriver hizmetinin çalıştığı adresi kontrol etmek veya başka uygulamaların bu hizmetle iletişim kurmasını sağlamak için kullanılır. Özellikle Selenium test otomasyonunda farklı tarayıcılarla etkileşimde bulunmak için bu adres önemlidir.
SuppressInitialDiagnosticInformation: ChromeDriverService sınıfında kullanılan bir özelliktir. Bu özellik, ChromeDriver hizmetinin başlatma sırasında başlangıç tanısal bilgileri bastırıp bastırmayacağını belirler.
Varsayılan olarak, SuppressInitialDiagnosticInformation özelliği false değerindedir, yani başlangıç tanısal bilgileri bastırılır. Başlangıç tanısal bilgileri, ChromeDriver hizmetinin başlatılması sırasında görüntülenen bilgileri içerir ve hizmetin başlatma sürecini izlemeye yardımcı olabilir.
Eğer SuppressInitialDiagnosticInformation özelliğini true olarak ayarlarsanız, başlangıç tanısal bilgileri bastırılmaz, yani bu bilgiler gizlenir.
Hiç yorum yok:
Yorum Gönder