1

したがって、subdomain-fu を使用して管理機能をパブリック機能から分離するためにサブドメインを利用する Rails Web アプリケーションがあります。admin.example.comしたがって、2 つの URL (例:と)に含まれる機能 (テストしたい!) がありますwww.example.com。管理ドメインに対して実行するシナリオと、www ドメインに対して実行するシナリオが必要です。

私の問題は、起動後にいつでもセレンが使用するドメインを変更する方法がわからないことです。env.rb に次のようなものを入れることができます。

Webrat.configure do |config|
  config.mode = :selenium
  config.application_address = "admin.example.com"
end

そしてそれは機能しますが、管理ドメインが必要なシナリオでのみ. 次のようなことを試してみると:

host! "www.example.com"

私のステップ内では、「admin.example.com」を使用しているセレンによって無視されているようです

何か案は?または、それが不可能な場合、回避策のアイデアはありますか?

4

2 に答える 2

1

Webrat を使用してこれを機能させることはできませんでしたが、Cabybara を使用すると、次のように機能します。

Given /^I visit subdomain "(.+)"$/ do |sub|
  # host! "#{sub}.example.com" #for webrat
  Capybara.default_host = "#{sub}.example.com" #for Rack::Test
  Capybara.app_host = "http://#{sub}.example.com:9887" if Capybara.current_driver == :selenium

  ################################################################################
  # As far as I know, you have to put all the {sub}.example.com entries that you're
  # using in your /etc/hosts file for the Culerity tests. This didn't seem to be
  # required for Rack::Test
  ################################################################################
end
于 2010-06-14T23:30:36.367 に答える
0

私は webrat を使用したことはありませんが、通常のテストでは、相対パスではなく完全パスを開いているかどうかを確認します。

それで

selenium.open("http://foo/bar");テストを完全なURLに移動させます

于 2010-04-28T07:36:07.290 に答える