2012-06-04 11 views

Odpowiedz

12

Tworzenie Selen Firefox profil testowy certyfikatów po stronie klienta SSL

Trzeba przygotować profil selen za WebDriver Firefox, która certyfikaty klienckie importowanych w.

pierwszym uruchomieniu WebDriver o następującej konfiguracji w twojej Kod testu:

# Pre-seeded Firefox profile directory 
profile_directory = os.path.join(os.path.dirname(__file__), "..", "..", "certs", "firefox-client-ssl-profile") 
self.assertTrue(os.path.exists(profile_directory)) 

profile = FirefoxProfile(profile_directory) 

# Make sure the client side certificate selection does not interrupt the test 
# XXX: What happens in other language versions? 
profile.set_preference("security.default_personal_cert", "Select Automatically") 
self.driver = WebDriver(firefox_profile=profile) 

self.selenium_helper = SeleniumHelper(self, self.driver) 
self.selenium_helper.driver = self.driver 

testy jednostkowe rozpocząć i prowadzić je do punktu serwer testowy Zope się skończy. Zatrzymaj testy za pomocą polecenia "import pdb; pdb.set_trace()"

Powinieneś już mieć na swoim ekranie selenową instancję przeglądarki Firefox "WebDriver".

Zaimportuj swój certyfikat po stronie klienta. Preferencje> Zaawansowane> Szyfrowanie> Wyświetl certyfikaty. Zaimportuj "client.p12" ze źródła certyfikatu po stronie klienta.

Wizyta w adresie URL wywołując okno certyfikatów po stronie klienta w Webdriver w Firefox ::

https://yourservevr/triggers-client-side-certificate-ssl-handshake 

ten powinien skłonić cię do zaakceptowania certyfikatu po stronie klienta przed serwerem testowym. Zaakceptuj wszystko ręcznie.

Odwiedź w menu Pomoc> Rozwiązywanie problemów> Podstawy aplikacji> Pokaż w Finderze. Powoduje otwarcie katalogu tymczasowego zawierającego aktywne pliki profilu Webdriver.

Skopiuj pliki profilu Firefox cert8.db i key3.db do pakietu testowego urządzenia Folder początkowy profilu przeglądarki Firefoksa WebDrivera. To jest folder, w którym Selenium wybiera nasiona dla sterownika przeglądarki Firefox po rozpoczęciu testu firefox-client-ssl-profile.

Przerwać testy. Zrestartuj testy. Uruchamiaj ponownie do przerwy. W przeglądarce Firefox przeglądarki Webdriver w ustawieniach zawiera teraz certyfikaty zatwierdzone w ostatnim uruchomieniu w Preferencje> Zaawansowane> Szyfrowanie> Wyświetl certyfikaty.

Więcej informacji

+1

Od wersji Firefox 58 będzie cert9.db i key4.db. W Visual Studio upewnij się, że będą one oznaczone jako "Kopiuj zawsze" we właściwościach, aby zapewnić, że pliki te zostaną skopiowane podczas budowania. – 321X

1

Nie wiem, czy to pomaga, ale można zmienić niektóre preferencje w profilu. W Javie możesz to zrobić.

ProfilesIni allProfiles = new ProfilesIni(); 
    FirefoxProfile profile = allProfiles.getProfile("default"); //change profile name. there is a note somewhere on how to change it 
    profile.setPreference(uaKey, uaValue); 
    profile.setAcceptUntrustedCertificates(acceptUntrustedSsl); 

Nie jestem pewien, czy tego właśnie potrzebujesz.

Powiązane problemy