2

私はFirefoxでSelenium Webdriverを使用していますが、それが昨日Firefoxが更新されたためか、サイトで何かが変更されたためかはわかりませんが、ドライバーがページを開くたびにFirefoxで信頼できない接続ページを取得するため、手動で追加する必要があります例外。

私たちが作成している内部サイトであるため、他の人がテストするためにサイトへのアクセスを許可することはできませんが、firefox のメッセージは次のとおりです。

TestingSite は無効なセキュリティ証明書を使用しています。発行者チェーンが提供されていないため、証明書は信頼されていません。(エラーコード: sec_error_unknown_issuer)

私のテストでは、新しい Firefox プロファイルを作成し、次の 2 つの値を設定します。

f.setAcceptUntrustedCertificates(true);
f.setAssumeUntrustedCertificateIssuer(false);

人々が同様の問題を抱えている他の投稿でこれらを設定することについて読みましたが、過去数か月間は機能していたようですが、今は再び例外が発生していますが、この1つのサイトでのみ.

4

2 に答える 2

2

ff48.0.1でselenium 3.0.0 Beta2を使用してもこの問題が発生しました。私が試したすべての「APIウェイ」は失敗しましたが、この問題を解決するための実行可能な方法がありました:

ステップ 1 - FF を手動で開き、自己署名証明書を手動で受け入れます (「sec_error_unknown_issuer」セキュリティ例外を受け入れることを意味します)。

ステップ 2 - FF のプロファイル ディレクトリを見つけて、プロファイル ディレクトリのパスをコピーします。ex(MAC env): "/Users/UserABC/Library/Application Support/Firefox/Profiles/vndms5adearwtry.default"

ステップ 3 - Selenium Java コードで、次の方法を使用して FirefoxDriver を初期化します。

FirefoxProfile firefoxProfile = new FirefoxProfile(new File("/Users/UserABC/Library/Application Support/Firefox/Profiles/vndms5adearwtry.default"));
DesiredCapabilities capabilities = DesiredCapabilities.firefox();
capabilities.setCapability(FirefoxDriver.PROFILE, firefoxProfile);
FirefoxDriver driver = new FirefoxDriver(capabilities);

それではおしまいです。現在、セレンコードを使用して自己署名証明書で Web サイトにアクセスできます。全体のアイデアは、セレンAPIを使用するのではなく、「sec_error_unknown_issuer」例外を直接受け入れるFFのプロファイルを使用することです。それが私がこの問題を解決する方法です。誰かに役立つことを願っています。

于 2016-09-20T02:56:23.387 に答える