Selenium Firefox Profil: Kurulum Kılavuzu
⚡ Akıllı Özet
Firefox Profil, bir tarayıcı kullanıcısına ait yer işaretlerini, şifreleri, eklentileri ve tercihleri saklar ve Selenium WebDriver, her otomatik çalıştırmanın aynı, tahmin edilebilir tarayıcı durumundan başlaması için özel bir profil yükleyebilir.

Selenium Firefox Profil
Firefox profil, üzerinde yapılabilecek ayarlar, özelleştirme, eklentiler ve diğer kişiselleştirme ayarlarının toplamıdır. Firefox Browser. Kişiselleştirebilirsiniz Firefox profilinize uygun Selenium otomasyon gereksinimi.
Ayrıca, Firefox veya başka herhangi bir tarayıcı SSL sertifikalarının ayarlarını yönetir. Dolayısıyla bunları otomatikleştirmek, test yürütme koduyla birlikte çok anlamlıdır.
Özetle, profil bir kullanıcının kişisel ayarlarıdır. Güvenilir bir şekilde çalıştırmak istediğinizde... otomasyon Bir on Firefox Tarayıcı kullanıyorsanız, ayrı bir profil oluşturmanız önerilir. Özel bir profil ayrıca günlük tarama verilerinizi test çalışmasının dışında tutar; bu da bir tarayıcı kullanırken ilk olarak göz önünde bulundurulması gereken şeydir. Selenium Komut dosyası iki makinede farklı davranıyor.
Profil klasörünüzün diskteki konumu
Firefox profil tıpkı farklı kullanıcıların kullandığı gibidir Firefox. Firefox Yer işaretleri, parolalar ve kullanıcı tercihleri gibi kişisel bilgileri kaydeder; bu bilgiler profil yöneticisi kullanılarak düzenlenebilir, silinebilir veya oluşturulabilir.
Aşağıdaki ekran görüntüsü, profil klasörünün diskte nasıl göründüğünü, rastgele bir ön ekle profil adıyla adlandırılmış olarak göstermektedir.
Profilin konumu aşağıdaki gibidir
- Her Ticaretçi İçin Mükemmellik Windows > C:\Kullanıcılar\ \AppData\Roaming\Mozilla\Firefox\Profiller\profil_adı.varsayılan
- Her Ticaretçi İçin Mükemmellik Linux > ~/.mozilla/firefox/profile_name.default/
- Mac OS X için > ~/Library/Application Support/Firefox/Profiller/profil_adı.default/
Başarılı bir çalışma yürütmek için Selenium Test, bir Firefox profil şöyle olmalıdır –
- Yüklemesi kolay
- Gerekirse proxy ayarları
- Otomasyon ihtiyaçlarına göre kullanıcıya özel diğer ayarlar
Nasıl ayarlanır Firefox Şunun için profil: Selenium Testler
Gelin, adım adım nasıl oluşturulacağını görelim. Firefox profil.
) 1 Adım Kapat Firefox tarayıcı
İlk adımda, kapatın Firefox Eğer zaten açıksa, profil yöneticisi başlatılmaz. Firefox Pencere çalışıyor.
) 2 Adım Çalıştırmayı Aç (Windows tuşu + R) ve firefox.exe –p yazın
"Tamam" düğmesine basmadan önce Çalıştır iletişim kutusu aşağıdaki ekran görüntüsündeki gibi görünmelidir.
Not: Eğer açılmazsa, tırnak içinde tam yolu kullanarak deneyebilirsiniz.
- 32 bit'te Windows: “C:\Program Files\Mozilla Firefox\firefox.exe” –p
- 64 bit'te Windows (32 bit Firefox): “C:\Program Files (x86)\Mozilla Firefox\firefox.exe” –p
) 3 Adım Kullanıcı profilini seçin
Şimdi, bir diyalog kutusu adı Firefox Aşağıda gösterildiği gibi açılacaktır.
) 4 Adım Profil oluştur
Sihirbazı başlatmak için sonraki ekran görüntüsünde gösterilen Profil Oluştur seçeneğini seçin.
Şimdi pencereden Profil Oluştur seçeneğini seçin; bir sihirbaz açılacaktır. İleri'ye tıklayın.
) 5 Adım Profil adınızı verin
Aşağıda vurgulanan alana otomasyon profili için bir ad yazın ve sihirbazı tamamlayın.
Artık profiliniz hazır, profilinizi seçip açabilirsiniz FirefoxBuradan itibaren profil, diğer tarayıcı oturumları gibi davranır, yani bir ilk WebDriver betiği Hiçbir değişiklik yapılmadan ona karşı yarışacak.
Yeni olduğunu fark edeceksiniz Firefox penceresi, Yer İmleriniz ve Favori simgelerinizden hiçbirini göstermez.
Not: En son seçilen profil, bir sonraki seferde otomatik olarak yüklenecektir. Firefox öğle yemeği. Profilleri değiştirmek istiyorsanız profil yöneticisini yeniden başlatmanız gerekecektir.
Otomasyon Komut Dosyası Selenium
Profil oluşturulduktan sonraki adım, onu koddan yüklemektir. Yeni oluşturulan profile erişmek için... Firefox profilde Selenium WebDriver yazılım testinde, aşağıda gösterildiği gibi WebDriver'ın yerleşik ProfilesIni sınıfını ve getProfile yöntemini kullanmamız gerekiyor.
⚠️ Sürüm notu: Bu bölümdeki alıntılar orijinal metinlerdir. Selenium 2. form. Mevcut durumda Selenium sınıfın yaşadığı yerleri serbest bırakır. org.openqa.selenium.firefox.ProfilesIni - .dahili Alt paket kaldırıldı ve profil sürücüye şu şekilde iletildi: FirefoxSeçenekler. Bakınız. FirefoxModern karşılığı için aşağıdaki Seçenekler bölümüne bakın.
Selenium profil için kod
Bu, içine gömülebilecek bir profili uygulamaya yönelik bir koddur. Selenium kodu.
ProfilesIni profile = new ProfilesIni();
// bu, için bir nesne yaratacak Firefox profil
FirefoxProfile myprofile = profile.getProfile("xyzProfile");
// bu, Başlatılacak Firefox sürücü
WebDriver driver = new FirefoxDriver(myprofile)
Bu kodun aşağıdaki örneklerdeki uygulamasını inceleyelim.
Firefox Profil Örneği 1
İlk örnek, bir profili adına göre yükler. Aşağıdaki ekran görüntüsü, aynı betiğin düzenleyici içinde nasıl çalıştığını göstermektedir.
// import the package import java.io.File; import java.util.concurrent.TimeUnit; import org.openqa.selenium.WebDriver; import org.openqa.selenium.firefox.FirefoxDriver; import org.openqa.selenium.firefox.FirefoxProfile; import org.openqa.selenium.firefox.internal.ProfilesIni; public class FirefoxProfile { public static void main(String[] args) { ProfilesIni profile = new ProfilesIni(); FirefoxProfile myprofile = profile.getProfile("xyzProfile"); // Initialize Firefox driver WebDriver driver = new FirefoxDriver(myprofile); //Maximize browser window driver.manage().window().maximize(); //Go to URL which you want to navigate driver.get("http://www.google.com"); //Set timeout for 5 seconds so that the page may load properly within that time driver.manage().timeouts().implicitlyWait(5, TimeUnit.SECONDS); //close firefox browser driver.close(); } }
Kodun açıklaması
Kodun satır satır açıklamasını aşağıda bulabilirsiniz.
- Code 2-7. satırlar: Öncelikle çalıştırmak için gerekli paketi içe aktarmamız gerekiyor. Selenium kodu.
- Code 8. satır: Herkese açık bir sınıf oluşturun “FirefoxProfil."
- Code 9. satır: Bir nesne oluşturun (Nesne yönelimli programlamanın temel kavramlarına hakim olmanız gerekir).
- Code 10-11. satırlar: Başlatmamız gerekiyor. Firefox myprofile nesnesiyle profil.
- Code 13. satır: Nesne oluştur Firefox.
- Code Satır 15: Pencereyi tam ekran yap.
- Code 17. satır: driver.get, belirtilen konuma gitmek için kullanılır. URL.
- Code 19. satır: `Set timeout` komutu, tarayıcının bir sonraki sayfaya geçmeden önce sayfayı yüklemesi için bir süre beklemeyi sağlar.
- Code 21. satır: Kapat Firefox.
Bir örnek daha görelim.
Firefox Profil Örneği 2
İkinci örnekte profiles.ini dosyası atlanarak doğrudan profil klasörüne işaret ediliyor, bu durum editör ekran görüntüsünde de görülüyor.
import java.io.File; import java.util.concurrent.TimeUnit; import org.openqa.selenium.WebDriver; import org.openqa.selenium.firefox.FirefoxDriver; import org.openqa.selenium.firefox.FirefoxProfile; import org.openqa.selenium.firefox.internal.ProfilesIni; public class FirefoxProfile2{ public static void main(String[] args) { // Create object for FirefoxProfile FirefoxProfilemyprofile=newFirefoxProfile (newFile("\c:users\AppData\MozillaFirefoxProfile_name.default ")); // Initialize Firefox driver WebDriver driver = new FirefoxDriver(myprofile); //Maximize browser window driver.manage().window().maximize(); //Go to URL driver.get("http://www.google.com"); //Set timeout driver.manage().timeouts().implicitlyWait(5, TimeUnit.SECONDS); //close firefox browser driver.close(); }
Kodun açıklaması
Kodun satır satır açıklamasını aşağıda bulabilirsiniz.
- Code 1-6. satırlar: Öncelikle çalıştırmak için gerekli paketi içe aktarmamız gerekiyor. Selenium kodu.
- Code 8. satır: Herkese açık bir sınıf oluşturun FirefoxProfil2.
- Code 12. satır: myprofile nesnesini tam yolu belirterek oluşturun.
- Code 14. satır: Nesne oluştur Firefox.
- Code Satır 16: Pencereyi tam ekran yap.
- Code 18. satır: driver.get, belirtilen konuma gitmek için kullanılır. URL.
- Code 20. satır: `Set timeout` komutu, tarayıcının bir sonraki sayfaya geçmeden önce sayfayı yüklemesi için bir süre beklemeyi sağlar.
- Code 22. satır: Kapat Firefox.
Bu kod parçacığındaki yolun, orijinal eğitimde gösterildiği gibi aynen yazıldığını unutmayın. Gerçek bir bilgisayarda ters eğik çizgilerin kaçış karakteriyle belirtilmesi gerekir, örneğin “C:\\Users\\guru99\\AppData\\Roaming\\Mozilla\\”.Firefox\\Profiles\\xyzProfile.default”.
Nasıl Kullanılır Firefox Profilleri Selenium 4 ile FirefoxSeçenekler
Yukarıdaki örneklerin her ikisi de yalnızca şu koşullara göre derlenir: Selenium 2. Sonrasında iki şey değişti ve şu anki tüm eğitim videoları yeni sürümü kullanıyor.
- ProfilesIni şirketten ayrıldı. iç Alt paket olduğundan, içe aktarma işlemi artık org.openqa.selenium.firefox.ProfilesIni şeklindedir.
- MKS FirefoxSürücü(FirefoxProfil oluşturucu kaldırıldı. Profil bir şeye bağlıdır. FirefoxSeçenekler nesnesi sürücüye iletilir.
- Selenium 4 zaman aşımı, bir değer artı bir TimeUnit yerine java.time.Duration alır, bu nedenle implicitlyWait(5, TimeUnit.SECONDS) ifadesi implicitlyWait(Duration.ofSeconds(5)) haline gelir.
Aşağıdaki tablo, eski çağrıların her birini yerine geçen çağrılarla eşleştirmektedir.
| Eski arama (Selenium 2) | Mevcut arama (Selenium 3 ve 4) |
|---|---|
| org.openqa.selenium.firefox.internal.ProfilesIni dosyasını içe aktar; | org.openqa.selenium.firefox.ProfilesIni dosyasını içe aktar; |
| yeni FirefoxSürücü (profilim) | seçenekler.profilimi ayarla(profilim); yeni FirefoxSürücü (seçenekleri) |
| implicitlyWait(5, TimeUnit.SECONDS) | implicitlyWait(Duration.ofSeconds(5)) |
| Geckodriver için System.setProperty | Otomatik olarak çözüldü Selenium müdür |
Güncel bir sürüme göre yeniden yazıldığında, Örnek 1 şu şekilde görünür.
import java.time.Duration; import org.openqa.selenium.WebDriver; import org.openqa.selenium.firefox.FirefoxDriver; import org.openqa.selenium.firefox.FirefoxOptions; import org.openqa.selenium.firefox.FirefoxProfile; import org.openqa.selenium.firefox.ProfilesIni; public class FirefoxProfileSelenium4 { public static void main(String[] args) { ProfilesIni allProfiles = new ProfilesIni(); FirefoxProfile myprofile = allProfiles.getProfile("xyzProfile"); FirefoxOptions options = new FirefoxOptions(); options.setProfile(myprofile); WebDriver driver = new FirefoxDriver(options); driver.manage().window().maximize(); driver.manage().timeouts().implicitlyWait(Duration.ofSeconds(5)); driver.get("https://www.google.com"); driver.quit(); } }
Profil arama işlemi değişmedi: ProfilesIni hala profiles.ini dosyasını okuyor. Firefox `application-data` klasörü ve `getProfile` yöntemi, ad bir profille eşleşmediğinde hala `null` değeri döndürüyor; bu nedenle sürücü başlamadan önce bir `null` kontrolü eklemek faydalı olacaktır. Aynı `options` nesnesi, başka yerlerde kullanılan argümanları da içerir; örneğin, `getProfile` için kullanılanlar gibi. tarayıcı penceresini büyütmek veya yeniden boyutlandırmak.
Nasıl ayarlanır Firefox Profil Tercihleri Selenium
Kaydedilmiş bir profil hikayenin sadece yarısıdır. Otomasyonun çoğu, aynı davranışın herhangi bir makinede de geçerli olması için kodda uygulanan birkaç tercih gerektirir. setPreference yöntemi, bu değerleri profil kopyasına yazmadan önce kaydeder. Firefox başlattı.
FirefoxProfile profile = new FirefoxProfile(); profile.setPreference("browser.download.folderList", 2); profile.setPreference("browser.download.dir", "C:\\selenium-downloads"); profile.setPreference("browser.helperApps.neverAsk.saveToDisk", "application/pdf"); profile.setPreference("dom.webnotifications.enabled", false); profile.setPreference("intl.accept_languages", "es"); FirefoxOptions options = new FirefoxOptions(); options.setProfile(profile); WebDriver driver = new FirefoxDriver(options);
Aşağıdaki tercihler, günlük kod yazımında en sık karşılaşılan durumları kapsamaktadır.
| tercih | Ne kontrol ediyor? |
|---|---|
| tarayıcı.indirme.klasörlistesi | Sistem varsayılanı yerine özel bir indirme klasörü kullanmak için bu değeri 2 olarak ayarlayın. |
| tarayıcı.indir | Mutlak yol Firefox İndirilen dosyaları kaydeder. |
| tarayıcı.helperApps.neverAsk.saveToDisk | MIME türleri indirme iletişim kutusu gösterilmeden kaydedildi. |
| dom.webnotifications.enabled | Web push bildirim uyarılarını gizlemek için değeri false olarak ayarlayın. |
| uluslararası.kabul_edilenler | Yerelleştirme işlemleri için faydalı olan Accept-Language başlığı. |
| general.useragent.geçersiz kılma | Tarayıcı tarafından gönderilen kullanıcı aracısı dizesini değiştirir. |
Bilmeniz gereken iki sınırlama var. Tercihler, sürücü oluşturulmadan önce ayarlanmalıdır, çünkü WebDriver başlatma sırasında profili kopyalar ve daha sonraki değişiklikler göz ardı edilir. WebDriver ayrıca tarayıcıyla iletişim kurmak için ihtiyaç duyduğu küçük bir tercih kümesini ayırır ve siz ne atarsanız atayın bunların üzerine yazar. Bu değerler komut dosyasında değil, profilde bulunduğundan, bunlar da aktarılır. tarayıcılar arası test Test kodunda herhangi bir değişiklik yapmadan çalıştırın.
ortak Firefox Profilde Hatalar Selenium ve Bunları Nasıl Düzeltebilirsiniz
Profil sorunları genellikle derleme hatası veya yanlış ayarlarla açılan bir tarayıcı şeklinde ortaya çıkar. Tabloda en sık bildirilen hatalar ve her birinin nedenleri listelenmiştir.
| Semptom | Sebeb olmak | sabit |
|---|---|---|
| Yapıcı FirefoxSürücü(FirefoxProfil) tanımlanmamış | Yapıcı fonksiyon, şu işlemden sonra kaldırıldı: Selenium 2. | Profili şu şekilde sarın: FirefoxSeçenekleri kullanın ve bunun yerine seçenekler nesnesini iletin. |
| org.openqa.selenium.firefox.internal.ProfilesIni içe aktarımı çözümlenemiyor. | Sınıf, dahili alt paketten dışarı taşındı. | org.openqa.selenium.firefox.ProfilesIni dosyasını içe aktarın. |
| GetProfile'da NullPointerException | Profil adı, profiles.ini dosyasındaki hiçbir kayıtla eşleşmiyor. | Profil yöneticisini yeniden açın ve adı büyük/küçük harf duyarlılığına dikkat ederek aynen kopyalayın. |
| Sizin Firefox Profil yüklenemedi. Eksik veya erişilemez olabilir. | Başka Firefox Örnek zaten profili içeriyor veya klasör yolu yanlış. | Her birini kapatın Firefox Pencereyi açın ve ardından yukarıda listelenen konumlarla yolu karşılaştırarak doğrulayın. |
| Tercihin hiçbir etkisi yoktur. | Bu ayar, sürücü başlatıldıktan sonra yapıldı veya WebDriver tarafından rezerve edildi. | Her setPreference çağrısını yukarıdaki kısma taşıyın. FirefoxSürücü yapıcı. |
Tarayıcı doğru şekilde başlatılıyor ancak komut dosyası sonrasında yine de başarısız oluyorsa, profil muhtemelen sorunun kaynağı değildir. Sorunu çözmek için şu adımları izleyin: istisna işleme Selenium Genellikle o noktadan itibaren daha hızlı olan yol budur.







