1

さまざまなブラウザーに対してテストを実行できるようにしたいと考えています。これを行うために次のメソッドを作成しました。これは私のenvファイルにあります。

def startbrowser()
  if BROWSER == "ff"
    Capybara.register_driver :selenium do |app|
      Capybara::Selenium::Driver.new(app, :browser => :firefox )
    end


    else
    Capybara.register_driver :selenium do |app|
      Capybara::Selenium::Driver.new(app, :browser => :chrome )
    end
end


  session = startbrowser()
  session.visit(@base_url)

ff が指定されている場合、上記は Firefox を起動するはずですが、これは私がほとんどのテストで使用しているブラウザーであるため、デフォルトで chrome に設定する必要があります。したがって、ターミナルで使用するコマンドは次のようになります: cucumber --tags @tests BROWSER=ff.

ただし、これは機能しません。エラーにはなりませんが、「BROWSER = ff」の部分を指定しなくても、常に Firefox が起動します。理論的には、デフォルトでクロムにする必要があります。メソッドにコマンドがない場合、Chrome ブラウザを正常に起動できますが、ブラウザを切り替えて、ジェンキンスからさまざまなジョブを実行できるようにしたいと考えています。ここで何が間違っているのか誰にもわかりませんか?

ありがとう!

4

1 に答える 1

2

問題は、環境変数に誤ってアクセスしようとしていることです。次の行を変更する必要があります。

if BROWSER == "ff"

...に...

if ENV['BROWSER'] == "ff"
于 2013-09-07T15:22:16.813 に答える