6

私のテストでは、Web ページにアクセスして、ページに特定の要素が存在することを確認します。たとえば、http://foo.com/homepage.htmlアクセスしてロゴ画像をチェックし、次にアクセスhttp://bar.com/store/blah.htmlして特定のテキストがページに表示されていることをチェックします。私の目標は、Kerberos 認証済みの Web ページにアクセスすることです。

以下のような Kerberos コードを見つけました。

メインファイル

uri = URI.parse(Capybara.app_host)
kerberos = Kerberos.new(uri.host)
@kerberos_token = kerberos.encoded_token

kerberos.rb ファイル

class Kerberos
    def initialize(host)
      @host = host
      @credentials = AuthGss::Negotiate.new("HTTP@#{@host}")
      @credentials.cache = ENV['KRB5CCNAME'] if ENV['KRB5CCNAME']
      @token = @credentials.step("")
    end

    def encoded_token
      Base64.encode64(@token).gsub(/\n/,"")
    end
  end

価値を利用していCapybara.app_hostます。値を何に設定するかわかりませんCapybara.app_host。私はそれが何をするのか理解できません。私は持っていCapybara.run_server = falseます。Capybara.app_host使用方法と、これが Kerberos 認証にどのように関連するかを理解するのを手伝ってくれる人はいますか?

4

2 に答える 2

9

Capybaraのドキュメントには、リモート ホストの使用例が示されています。app_hostは、Web アプリケーションのベース ホストです。

Capybara.current_driver = :selenium
Capybara.run_server = false
Capybara.app_host = 'http://www.google.com'

visit('/users') # goes to http://www.google.com/users
于 2013-11-15T03:37:55.300 に答える