4

PHP プロジェクトで Cucumber を使用して、機能/受け入れ/統合テストをセットアップしようとしています。これらのタイプのテストを実装するための最良のアプローチを理解しようとしています。

Selenium で JavaScript をテストできることは理解していますが、Selenium は遅く、常に JavaScript をテストする必要はありません。PHP に相当する「ヘッドレス ブラウザ」を探しています。

これらはどちらも「ヘッドレス ブラウザ」に分類されますか?

  • SimpleTest Web テスト
  • Zend_Test_PHPUnit_ControllerTestCase

Zend Framework プロジェクトの統合テストを実装するために何をしましたか?

4

6 に答える 6

3

behat(http://behat.org/)を使ってみませんか?

上記のすべての要件が含まれている必要があり、phpで記述されています。

「ブラウザ内」テストを処理するSahiDrvierと、シンプルなphpブラウザもあります。

于 2011-04-28T13:04:01.573 に答える
3

Webrat を使用するように Cucumber をセットアップした場合、デフォルトで Mechanize を使用するように Webrat をセットアップできます。Mechanize は基本的にヘッドレス ブラウザです。これは私の env.rb ファイルがどのように見えるかです:

# RSpec
require 'rspec/expectations'

# Webrat
require 'webrat'

require 'test/unit/assertions'
World(Test::Unit::Assertions)

Webrat.configure do |config|
  config.mode = :mechanize
end

World do
  session = Webrat::Session.new
  session.extend(Webrat::Methods)
  session.extend(Webrat::Matchers)
  session
end

また、この記事によると、Cucumber で Capybara を使用するようにセットアップし、Celerity (JavaScript をサポートするヘッドレス ブラウザー) を使用するように構成することができます。また、Selenium RC を使用するように Capybara を構成する方法についての説明も含まれています (これは不可能だと思いました)。私はまだこのアプローチを試みていないので、うまく機能するかどうかはわかりません。

于 2011-03-18T17:18:36.167 に答える
1

更新: Akephalos はしばらく更新されていないようです。そのため、新しいバージョンの Capybara を操作するには適切なソリューションではない可能性があります。


Capybara (Webrat の代替) とAkephalos (ヘッドレス ブラウザー)を使用します。カピバラは、アケファロスと対話するために使用されます。

support/env.rb

# Capybara configuration (using Akephalos)
require 'capybara/cucumber'
require 'akephalos'

Capybara.default_driver = :akephalos
Capybara.app_host = 'http://your.web.app'

Capybara.register_driver :akephalos do |app|
  # available options:
  #   :ie6, :ie7, :ie8, :firefox_3, :firefox_3_6
  Capybara::Driver::Akephalos.new(app, :browser => :firefox_3_6)
end
于 2011-04-28T14:42:54.847 に答える
0

Cucumber を使用している場合は、まだ Ruby を使用していませんか? celerity や culerity を使用しないのはなぜですか?

Cucumber と Celerity を使用して、Struts 2 アプリと ColdFusion 8 アプリをテストしました。基本的に、Celerity と JRuby (HtmlUnit をラップ) またはネイティブ Ruby で実行される Culerity を使用して、ブラウザーを駆動します。

次の 2 つのプロジェクトのいずれかを参照して、作業を開始することをお勧めします。

Cheesy UI Testing -対応するブログ

WatirMelon ページ オブジェクト-対応するブログ

于 2011-03-11T19:50:26.220 に答える
0

まず、Capybara (Webrat の代替) を使用する必要があります。ブラウザーとの対話に使用される DSL を簡素化および標準化するために使用され、いくつかの優れた機能を提供します。

Selenium は少し遅いですが、Capybara にバンドルされているので使い始めるのは簡単です。参考までに、デフォルトでは Firefox を使用します。

support/env.rb

require 'capybara/cucumber'

Capybara.app_host = "http://your.app.com"
Capybara.default_driver = :selenium

Capybara を使用しているので、capybara-webkit ドライバー(バックグラウンドで Webkit を使用する真のヘッドレス ブラウザー) を使用する必要があります。少しセットアップが必要ですが、セットアップが完了すると、Selenium を使用した場合よりも速度が向上します。

support/env.rb

require 'capybara/cucumber'

Capybara.app_host = "http://your.app.com"
Capybara.default_driver = :webkit
于 2012-07-23T19:29:17.157 に答える