0

私はSeleniumを初めて使用しますが、いくつかの簡単なWebサイトの自動化が機能しています。ここに私が理解できないものがあります: ユーザー証明書を使用してユーザーを検証する Web サイトがあります。私は以下を発行します...

    WebDriver driver = new FirefoxDriver();
    driver.get("https://xt01:9100/owf/");

ウェブサイトが表示されると、どの証明書を使用して「ログイン」するかを尋ねるユーザー識別要求ダイアログも表示されます。そのダイアログを取得して証明書を指定し、ボタンを押すことができないため、表示される最初の画面は「許可されていません」画面です(1)証明書または2)右のいずれかを指定しなかったためです証明書)

Q) このダイアログを「つかむ」にはどうすればよいですか? Selenium IDE はダイアログを登録しません (「見えない」ように見えるため、クリックは含まれません)。

オプション (Tools-Options-Advanced-Encryption) には、「サーバーが個人証明書を要求したとき」というオプションがあり、選択肢は「1 つを自動的に選択する」または「毎回確認する」です。起動するFirefoxインスタンスで、「1つを自動的に選択する」に設定してクリックしますが、これは次の起動時に「記憶」されません(「毎回確認する」にリセットされます)。テストを開始する前に、[User Identification Request] ダイアログをキャプチャして処理できるようにするにはどうすればよいですか?

前もって感謝します...

4

3 に答える 3

2

Firefox 33.0 と selenium-webdriver-2.47.1prefs.jsを使用して、プロファイルで証明書のプロンプトを指定できます。user_pref("security.default_personal_cert", "Select Automatically");

于 2016-03-30T21:34:56.487 に答える
2

これまでのところ、試す時間がありませんでしたが、役立つはずです。

  • 新しい Firefox プロファイルを作成し、わかりやすい名前を付けます。selenium
  • このプロファイルでは、指定された証明書をインストールし、FF にあなたの決定を記憶させます
  • FireFoxDriver の新しいインスタンスを作成するときは、次のことを試してください。

    ProfilesIni profile = new ProfilesIni();
    FirefoxProfile ffprofile = profile.getProfile("selenium");
    WebDriver driver = new FirefoxDriver(ffprofile);
    driver.get("https://xt01:9100/owf/");
    
于 2012-04-05T13:54:12.773 に答える
0

証明書は、ブラウザではなく OS によって管理されます。ブラウザの証明書ストアから必要な証明書以外をすべて削除し、証明書が 1 つしか存在しない場合に証明書を自動的に選択するようにブラウザを構成します。ブラウザー プロファイルを作成し、プログラムでこのプロファイルを起動するか、HTTPS 経由のテストを回避することもできます。

于 2015-05-20T02:01:52.587 に答える