3

わかった。私はハックニーでかみ砕かれた質問をしていることを知っていますが、さまざまなリンクで提供されているすべての解決策を試しても問題が解決されないため、これを投稿しています。

私の制約-保存したFirefoxプロファイルを使用してWebサイトの証明書を保存したくありません。

Seleniumサーバーのバージョン-2.0b3

試したソリューション
-1)http://seleniumhq.org/docs/05_selenium_rc.html#handling-https-and-security-popups
ブラウザランチャー*
firefoxSeleniumはtrustAllSSLCertificatesオプションで開始しました。
助けにはならなかった。FFは再び証明書の保存を要求します。

2)http://blog.mogotest.com/2010/04/13/how-to-accept-self-signed-ssl-certificates-in-selenium/
ブラウザランチャー*firefoxproxySelenium
はtrustAllSSLCertificatesオプションで開始されました。
助けにはならなかった。

3)Selenium Testing HTTPsは、IEではなくFFで機能するすべての証明書を信頼します

4)それに加えて、 https: //developer.mozilla.org/En/Cert_override.txtで説明されているように、独自のcert_override.txtを作成し、5つのフィールドにデータを入力しようとしましたが、証明書のシリアル番号である5番目のフィールドの値を取得しました。 http://tinyurl.com/ce4vn99で説明されているように、base64でエンコードされた文字列としての発行者名は単純ではありません。

5)Firefox用のRemember Certificate Exceptionアドオンの使用http://sejq.blogspot.in/2009/01/remember-certificate-exception.htmlも別のオプションですが、完全なサイレントインストールを実行できませんでした。xpiファイルを必要なディレクトリにドロップすると、次にFirefoxが起動したときに、アドオンが見つかったのか、先に進んでインストールしたのかを示すプロンプトが表示されます。アドオンはブラウザに反映されるだけではありません。誰かがこれの完全なサイレントインストールで少なくとも私を助けることができるなら、それは素晴らしいでしょう!

私が欲しいのは、これがFirefoxで機能することだけです。IEやGoogleChromeには興味がありません。

単にこれを重複と呼ぶのではなく、答えを提供するのに助けがあれば大歓迎です。

4

4 に答える 4

0

Seleniumの代替案を提案します。

サヒを試しましたか?これは、スクリプト化されたブラウザ制御を可能にするという点で基本的に非常によく似たアプリケーションですが、多くの場合、Seleniumよりもうまく機能するようです。

Sahi FAQページから:

セレンと比べてどうですか?

Sahiは、テスターに​​とって習得と使用が簡単です。Sahiのレコーダーはすべてのブラウザーで動作します。Sahiは、AJAXとページのロードを自動的に待機します。XPathを使用しませんが、_inや_nearなどのより直感的なAPIを使用します。Sahiは、フレーム、iframe、ポップアップウィンドウ、動的IDを持つサイト、httpsサイト、401認証サイトなどでうまく機能します。HTMLレポートが組み込まれており、複数のスクリプトを並行して実行できます。

私の経験では、これは正確です。Seleniumが苦労している特定の種類のブラウザイベントがあり、Sahiはそれをはるかにうまく処理します。

これでSeleniumの問題が解決しないことはわかっています。また、Seleniumでテストを作成して、Sahiでテストをやり直すのは苦痛なので、探している解決策ではない可能性があります。他のすべてが失敗した場合は、検討する価値があるかもしれません。

ps-開発環境については何も言及していませんが、 SahiとSeleniumの両方と統合するMinkと呼ばれるPHPベースのテストツールがあります。つまり、単一のテストスクリプトを記述して、どちらでも機能させることができます。他の言語で同様のツールを知っていることはありませんが、2つの言語間での移行に役立つ場合は興味深いかもしれません。

于 2012-05-07T16:00:39.820 に答える
0

したがって、解決策は上記の5番目のポイントであることが判明しました。問題を解決する手順は次のとおりです-

1) https://addons.mozilla.org/en-US/firefox/addon/remember-certificate-exception/からRemember CertificateExceptionxpiファイルをダウンロードします。

2)それを解凍してファイルのセットを取得します。それらを一時フォルダに保管します。(temp_folder / extracted_files)

3)install.rdfファイルを開き、Descriptionノードにあるem:idノードの内容をコピーします。

4)このコピーした文字列で作成した一時フォルダの名前を変更します。

5)このフォルダをprofile_name /extends/ディレクトリの下に配置します。また、プロファイルフォルダからextensions.cache / .ini/.rdfファイルを削除します。プロファイルが変更されたこと、およびインストールする新しいアドオンがあることをユーザーに通知されないようにするには、これらを削除する必要があります。3つのファイルが削除された場合にのみ、完全にサイレントインストールされます。

これは、スクリプトを使用して自動化できます。

#!/bin/bash
mkdir /tmp/addon
cp -r ~/POC/remember_certificate_exception-1.0.0-fx.xpi /tmp/addon
unzip /tmp/addon/remember_certificate_exception-1.0.0-fx.xpi -d /tmp/addon
rm /tmp/addon/remember_certificate_exception-1.0.0-fx.xpi
folder_name=$(cat /tmp/addon/install.rdf | grep -m 1 "<em:id>" | cut -f2 -d ">" | cut -f1 -d "<")
mv /tmp/addon /tmp/$folder_name
cp -r /tmp/$folder_name ~/.mozilla/firefox/*.default/extensions
rm -f ~/.mozilla/firefox/*.default/extensions.
于 2012-05-08T07:35:46.813 に答える
0

https://addons.mozilla.org/en-US/firefox/addon/skip-cert-error/ このアドオンを使用してください。これにより、httpsエラーがバイパスされます。これも構成可能です

于 2013-02-01T04:03:59.830 に答える
0

証明書の検証エラーを無視せずに、Seleniumを使用してHTTPSエンドポイントをテストする方法を示す例をまとめました。テスト対象のHTTPSエンドポイントによって提示されるサーバー証明書を検証するために使用できる信頼されたルートCAを使用してseleniumクライアントをセットアップする方法を示します。https://github.com/JeNeSuisPasDave/Selenium-and-TLSを参照してください

この例は、ChromeノードとFirefoxSeleniumノードを示しています。Chromeは、システムの信頼できる証明書ストアで、検証に使用されるルートCA証明書を探します。Firefoxは、現在のプロファイル内のcert8.dbファイルを調べます。

テストハーネスに証明書エラーを無視するように指示することは不必要に危険であると思うので、このアプローチは重要だと思います。そうすることで、本番環境にデプロイされる前にトラップしたいと思っていたエラーが最終的に隠される可能性があります。

このトピックに関する短い投稿https://develves.net/blogs/asd/2017-02-20-selenium-and-tls/を書きましたが、実際には上記のリンクされたサンプルリポジトリが必要です。

于 2017-02-20T20:21:52.287 に答える