0

Capybara、Selenium、Firefox (windows) でテストを起動するとき、私はこのタイプのコードを使用しています

  Capybara.reset_sessions!
  Capybara.register_driver :selenium do |app|
  profile = Selenium::WebDriver::Firefox::Profile.new

  profile["network.proxy.type"] = 1 # manual proxy config
                                    #profile["network.proxy.http"] = "209.188.18.130"
  profile["network.proxy.ssl"]  = "**********"
  profile["network.proxy.ssl_port"]             =   ****

  Capybara::Selenium::Driver.new(app, :profile => profile)
  end

しかし、構成してもブラウザは保護されていないようです。たとえば、テスト環境ではなく実際のブラウザで同じプロキシを使用すると、新しいサイトにサインアップするのに問題はありません。しかし、多くのプロキシを変更しても、Selenium Firefox Capybara でテストを行うと、サイトはそれを見抜いています。

問題は、Selenium Firefox Capybara を実際のブラウザーとして保護するように構成する可能性はありますか?

前もって感謝します!

4

1 に答える 1

0

はい。最良の方法は、ブラウザーを手動で構成し、その prefs.js ファイルを読み取って実際の構成を確認し、その情報をプロファイルに入れてコンストラクターに渡すことです。これは私が設定したものです:

   profile["network.proxy.no_proxies_on"] = NO_PROXY_SETTING
   profile["network.proxy.backup.ftp"] = ""
   profile["network.proxy.backup.ftp_port"] = 0 
   profile["network.proxy.backup.socks"] = ""
   profile["network.proxy.backup.socks_port"] = 0 
   profile["network.proxy.backup.ssl"] = ""
   profile["network.proxy.backup.ssl_port"] = 0 
   profile["network.proxy.ftp_port"] = PROXY_PORT
   profile["network.proxy.ftp"] = PROXY_HOST
   profile["network.proxy.http_port"] = PROXY_PORT
   profile["network.proxy.http"] = PROXY_HOST
   profile["network.proxy.share_proxy_settings"] = true
   profile["network.proxy.socks_port"] = PROXY_PORT
   profile["network.proxy.socks"] = PROXY_HOST
   profile["network.proxy.ssl_port"] = PROXY_PORT
   profile["network.proxy.ssl"] = PROXY_HOST
   profile["network.proxy.type"] = 1 # manual proxy config
于 2014-02-20T20:34:32.620 に答える