2012-06-04 14 views

risposta

12

Creazione profilo di prova Selenio Firefox per i certificati lato client SSL

È necessario preparare il profilo WebDriver Firefox selenio, che ha importato i certificati client in.

In primo luogo si avvia WebDriver con la seguente configurazione nel vostro test code:

# 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 

Avviare test di unità e portarli al punto Il server di test Zope è attivo. Stop test con "import pdb; pdb.set_trace()"

Ora dovresti avere un'istanza di Firefox "WebDriver" di Selenium sullo schermo.

Importare il certificato lato client. Preferenze> Avanzate> Crittografia> Visualizza certificati. Importare "client.p12" dalla fornitura del certificato sul lato client.

Visita nell'URL innescando la finestra di certificato del client in Firefox di WebDriver ::

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

Questo dovrebbe richiedere di accettare il certificato lato client sul server di test. Accetta tutto manualmente.

Visitare nel menu Guida> Informazioni sulla risoluzione dei problemi> Nozioni di base sull'applicazione> Mostra nel Finder. Apre la directory temporanea contenente i file del profilo attivo di Webdriver.

Copia file profilo Firefox cert8.db e key3.db nel pacchetto di prova dell'unità cartella seme del profilo di Firefox di WebDriver. Questa è la cartella in cui Selenium preleva i semi per il driver web di Firefox all'avvio del test firefox-client-ssl-profile.

Interrompe i test. Riavvia i test. Corri fino alla pausa di nuovo. In Firefox di Webdriver , vedi nelle impostazioni che ora contiene i certificati che hai approvato nell'ultima esecuzione in Preferenze> Avanzate> Crittografia> Visualizza certificati.

Maggiori informazioni

+1

Da Firefox versione 58 sarà cert9.db e key4.db. Con Visual Studio assicurati che vengano contrassegnati come "Copia sempre" nelle proprietà per garantire che questi file vengano copiati durante la creazione. – 321X

1

Non so se questo aiuta, ma è possibile modificare alcune delle preferenze nel profilo. In Java, puoi farlo.

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); 

Non sono sicuro che sia ciò di cui hai bisogno.

Problemi correlati