2017-03-03 3 views
1

Ich aktualisiere die Version von Firefox, die wir für unsere hauseigenen Selenium-Tests verwenden. Als Teil davon weiß ich, dass ich den GeckoDriver in ähnlicher Weise verwenden muss, wie wir den ChromeDriver für Chrome verwenden müssen. Es scheint alles zu sein, aber die Software unter Test verwendet ein selbst signiertes SSL-Zertifikat, das Ihnen die Warnung "nicht vertrauenswürdig" gibt, bevor Sie fortfahren. Um dies zu umgehen, habe ich den folgenden Code:Ungültiger Sicherheits-Cert-Fehler bei der Verwendung von Python Selenium WebDriver mit Firefox GeckoDriver

from selenium import webdriver 
from selenium.webdriver.common.desired_capabilities import DesiredCapabilities 

profile = webdriver.FirefoxProfile() 
profile.accept_untrusted_certs = True 
capabilities = DesiredCapabilities.FIREFOX 
capabilities['acceptSslCerts'] = True 
firefox_log = "<path to firefox log>" 

DRIVER = webdriver.Firefox(firefox_profile=profile, executable_path=<path to gecko driver exe>, capabilities=capabilities, log_path=firefox_log) 

Wenn jedoch die Tests ausgeführt, es läuft/offen Firefox, aber es sofort Fehler mit er folgendes:

WebDriverException: Message: Reached error page: about:certerror?e=nssBadCert&u=https%3A//10.10.10.10/&c=UTF-8&f=regular&d=10.10.10.10%20uses%20an%20invalid%20security%20certificate.%0A%0AThe%20certificate%20is%20not%20trusted%20because%20it%20is%20self-signed.%0AThe%20certificate%20is%20only%20valid%20for%20%3Ca%20id%3D%22cert_domain_link%22%20title%3D%22amnesiac%22%3Eamnesiac%3C/a%3E%0A%0AError%20code%3A%20%3Ca%20id%3D%22errorCode%22%20title%3D%22SEC_ERROR_UNKNOWN_ISSUER%22%3ESEC_ERROR_UNKNOWN_ISSUER%3C/a%3E%0A 

I Ich weiß, dass es in diesem Bereich einen Fehler gab, aber ich hatte den Eindruck, dass es behoben wurde. Fehle ich etwas?

Version Info:

  • Firefox Version: 51.0.1
  • GeckoDriver Version: 0.14.0
  • Selen Version: 3.0.2
+0

Ich habe auch versucht mit "acceptInsecureCerts" anstelle von "acceptSslCerts" und ich bekomme das gleiche Ergebnis. –

Antwort

0

ich dieses Problem ist vor, versuchen, diese Funktion für mich in .NET zu arbeiten. Aber ich habe bemerkt, dass Sie Firefox 51.0.1 verwenden. Während der Bug-Fix für dieses war Live seit (ich beileve) GeckoDriver 0.11.0 war es abhängig von der Behebung eines Fehlers in Firefox, die nach der original bug es VERIFIED FIXED in Firefox 52 war. Also würde ich versuchen, Firefox zu aktualisieren, seit 52 das stabile Release 3/7/2016 geworden ist. Ich hoffe, das hilft.

+0

In Bezug auf das, was Sie Joshua erwähnt haben, arbeite ich auch mit .NET. Ich habe Firefox gestern auf Version 52 aktualisiert und kann plötzlich nicht mehr auf SSL-Websites in Localhost über IIS Express zugreifen. Ich habe versucht, IIS Express Zertifikat zu exportieren und es als CA in Firefox zu importieren, aber es nicht erlaubt, es zu tun. Ich habe überprüft, dass die Website wieder funktioniert, wenn ich zu Firefox 51 zurückkehre. Hast du das gleiche Problem? – spakinz

+0

Ich habe die Profilumgehung für ungesicherte Websites nicht versucht. Ich muss vielleicht die Straße hinuntergehen, wenn ich nicht herausfinden kann, wie man diese Fähigkeiten während der Treiberinitialisierung einstellt. Vorläufig habe ich meine Testknoten alle laufen Firefox 46, also muss ich nicht Marionette-Treiber verwenden, aber das wird zunehmend ein größeres Problem. –

+0

Ich habe auf 52 aktualisiert. Ich habe dann sichergestellt, dass ich die Capabilities-Route verwendet habe, um die Fehlerbehebung auszulösen, wie im Entwicklerblog beschrieben (https://www.hskupin.info/2017/01/23/using-selenium-and-webdriver--to- interact-with-insecure-ssl-pages-in-firefox /). Ich sehe jetzt etwas anderes. Jetzt bekomme ich den folgenden Fehler: 'WebDriverException: Nachricht: Nachricht: kann das Profil nicht laden. Profil Dir:/var/Ordner/v_/jr5_8tpj62z0fx14nsbyb_fm0000gp/T/tmpV0GVtz Wenn Sie einen log_file im FirefoxBinary Konstruktor angegeben, überprüfen Sie es für details.' Dies scheint dieser Fehler zu sein: https://github.com/SeleniumHQ/selen/issues/2739 –

Verwandte Themen