問題タブ [behat]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
1307 参照

behat - Behat/Mink での「Remember me」機能のテスト

Symfony2 プロジェクトで Behat と Mink を使用して記憶機能をテストしようとしています。しかし、私のアプローチはうまくいきません。

私は次のことを試しました:

私の機能コンテキストには、(特に) 次のメソッドが含まれています。

問題は にありますiRestartTheBrowser()。これは、やるべきことをしていません。セッション データをクリアする方法を探していますが、Cookie は保持します。何か助けはありますか?

0 投票する
2 に答える
5376 参照

macos - Mac OS X コマンドラインからブラウザを起動する方法 (Behat BDD テスト用)?

Behat テストでは、テスト シナリオのステップの「最後の応答を表示する」コンテキストがあります。これにより、ブラウザ ウィンドウが起動し、最後の応答の静的な html が表示されます。しかし、これを mac os で実行するとエラーが返されます。

sh: x-www-browser: command not found

このコマンドを特定のブラウザ (例: chrome) に設定する方法はありますか?

0 投票する
1 に答える
1374 参照

behat - Behatの事前定義されたステップの翻訳を使用する(Pharインストール)

MinkExtensionの事前定義されたステップ定義を使用していくつかのテストを実行しました。彼らは英語である限り機能します。

今、私はドイツ語のステップで次のシナリオを試しました:

Behatは、英語版は機能しているが、ドイツ語のステップ定義は未定義であることを教えてくれます。

CLIヘルプによるとbehat --lang de -dl、翻訳された定義を表示する必要がありますが、英語のものしか表示されません...

私はここで何が間違っているのですか?

編集:シナリオを再構築するためのスクリプトは次のとおりです。一時ディレクトリにあるドキュメント( http://extensions.behat.org/mink/#through-phar )のインストール手順に従い、テスト機能ファイルを実行します。

0 投票する
3 に答える
13817 参照

php - PHPUnit & Behat; 補完または代替?

私はSOとGoogleを見回してきましたが、決定的な答えを得ることができませんでした.

PHPUnit は、JUnit と同様に単体テスト用のフレームワークです。機能テスト用の Selenium 拡張機能と組み合わせて使用​​します。ブラウジングしていると、Behat/Mink が言及され続けていることがわかります。しかし、Behat がここにどのように収まるかは完全にはわかりません。

Behat を使用すると、人間が読める形式でシナリオを記述できます。Behat はそれを新しいプロジェクトのスケルトン クラスに変換できますか? しかし、単体テスト用のスケルトン クラスも提供していますか? Behat を使用して単体テストを作成しますか、それとも PHPUnit / SimpleTest を使用しますか?

しかし、Behat/Mink は機能テストのために PHPUnit_Selenium-extension を置き換えますか?

Behat は新しいプロジェクトにのみ使用しますか?それとも既存のプロジェクトにも適用できますか?

0 投票する
2 に答える
1621 参照

php - Symfony2 アプリケーションで Sahi / Mink / Behat を使用してファイルをアップロードできない

Symfony2 アプリケーション内のユーザー インターフェイス テストに Mink と Sahi を使用しています。しかし、実際には Sahi でファイルをアップロードすることはできません。

私のSahiサーバーは稼働中です:

私のステップの実装:

ここで、/home/coil/Webdev/sahi/userdataディレクトリではないファイルを使用すると、次のエラーが発生することに注意してください。

そのため、有効な既存のファイルでエラーが発生しないため、Sahi はファイルを「見つける」ことができます。ただし、フォームが送信されると、Sahi プロキシによってファイルがアップロードされることはありません。

その他のチェック:

  • 副作用がないことを確認するために、クライアント側の HTML5 と JavaScript の検証を削除しました。
  • 他のすべての Sahi テストは問題ありませんが、アップロードの 3 つだけが不合格です
  • プロキシはテスト用ブラウザに設定されています
  • ブラウザーで問題なく Sahi コントローラーを開くことができます
  • MaxOsX と Ubuntu で同じ問題
  • アップロード テストを実行するたびに、次のような名前の /userdata/temp/download に新しいエントリが作成されますsahi_11a83f8806be8046fc0aaa80eac076110b95__fr-fr-2-0.bdic

本当に奇妙なのは、これらのテストが数回前に合格したと確信していることです。Sahi ファイルのアップロードを中断するアプリケーションまたは構成で何かが変更されたに違いありませんが、何が見つかりません。以前は、Sahi コンソールにアップロード中のファイルに関するログがありましたが、現在はログがまったくありません。

0 投票する
1 に答える
2906 参照

symfony - カスタム拡張機能で設定された Behat+symfony2 アクセス コンテナー パラメーター

(誰かが私がやりたいことを達成するためのより良い方法を知っている場合に備えて、状況を説明します)。

Symfony2 + Behat + Symfony2Extension + Mink + の使用

シナリオ中にアクセスされる複数の URL を持つアプリケーションがあります。

FeatureContext __construct メソッドから送信されたパラメーターを使用していることは理解していますが、私がしようとしているのは、behat.yml ファイルに URL を設定して、カスタム コンテキストでそれらを使用して URL にアクセスできるようにすることです。

拡張機能がどのように機能するかを見て、次のように依存性注入をセットアップしました。

そして、私の behat.yml は次のようになります。

今私の FeatureContext.php クラスで、次のことをしたいと思います:

しかし、これは機能していません。symfony2extension が有効になっているため、Symfony2 アプリケーションからパラメーターが返されます。しかし、拡張クラスからパラメーターまたはサービスにアクセスできません。

(load メソッドの Extension クラスにいて、設定したパラメーターを呼び出すと、それが返されるので、設定されていることはわかっていますが、別のコンテナーに設定する必要があることに注意してください。)

まず、これは可能ですか?もしそうなら、それを機能させるために私は何をすべきですか?

助けてくれてありがとう。

0 投票する
1 に答える
1924 参照

behat - htmlが含まれているリンクをたどる

私は次のような応答があります

とのような機能

スパンタグが原因で、これは明らかに失敗します。テキストが存在することを主張する、またはリンクをたどる適切な方法は何ですか?

0 投票する
1 に答える
255 参照

parsing - StepNodeインスタンスには引数がありません

すべてのステップを実行する前に実行するフックを作成しています。フック関数は基本的に、ステップに与えられた引数を操作します。

これが私が使用しているコードです(最後の2行はテスト用です):

  • $step_nodeのインスタンスですStepNode
  • $argsそのステップに関連する引数の配列であると想定されています。

これをテストする特定のステップでは、引数の配列は常に空です。また、フックを使用して引数を出力しようとしましたがAfterStep、配列はまだ空です。

behatがどのように議論をつかみ、ステップを処理するかについて何かが欠けていますか?

0 投票する
1 に答える
892 参照

php - 事前定義された手順を実行する

次の問題に遭遇した人はいますか: behat は明らかに正常に動作しますが、事前定義された手順はありません: 結果

ファイル FeatureContext.php にステップが定義されていなくても空です。私の Behat バージョンは 2.4.0 で、PHAR の助けを借りてインストールされています。PHP バージョンは 5.4.9 です。以下は、私のインストールの詳細です。ツリー構造は次のとおりです。

behat フォルダーには、次のファイルが含まれています。

機能フォルダにはbootstrapディレクトリしかありません

次の内容を持つ唯一のファイル FeatureContext.php を含む

0 投票する
1 に答える
601 参照

php - xdebug_get_code_coverage 出力からのレポートの生成

BDD を使用してコードをテストしています。BDD では、基本的に 2 つのコード セットがあります。1 つはテストを実行し、もう 1 つは実際にサーバー上で実行されます。

私が知る限り、PHP のコード カバレッジ ツールのほとんどは、PHPUnit を実行していて、単一のコード ベースで統計情報を収集していると想定しています。この問題については、https://github.com/Behat/Behat/issuesで詳しく説明しています。 /92 .

私は基本的に、既存のツールを使用することを (おそらく誤って) あきらめて、基本に戻りました。xdebug を使用すると、サーバーhttp://xdebug.org/docs/code_coverageのすべての統計情報を収集できます。これには、適切な場所でコレクション呼び出しの開始と停止を挿入します。これにより、実行されたすべての行を含む配列の巨大なリストが作成されます。ここで、これを取得して、実際にコード カバレッジを表示する優れたレポートに変換したいと思います。残念ながら、このためのツールを構築する時間がありません。私の質問は:

xdebugコードカバレッジ出力をレポートに変換できるツール/方法を知っている人はいますか?

私がやろうとしていることを行うためのより良い方法はありますか?

ありがとうございました!