問題タブ [mink]

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 に答える
913 参照

symfony - sahiとsymfony2

symfony2でbehat、mink、sahiをテストしたい

だから、私のconfig_test.ymlには

とtest.featureで

私が実行するとき、私はこれを持っています

PHPの致命的なエラー:C:\ wamp \ www \ Symfony_Standard_2.0.15_2 \ Symfony \ vendor \ buzz \ lib \ Buzz \ Client \ AbstractCurl.phpの26行目の未定義関数Buzz\Client \ curl_init()を呼び出します

お願い助けて、

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

symfony - サヒ走れない

重複の可能性:
sahiとsymfony2

symfony2でbehat、mink、sahiをテストしたいと思います。

私のファイルconfig_test.ymlには

私が使用するときの私のtest.featureで

結果は良好です:

しかし、私が追加すると、@mink:sahi私は得る

何か考えはありますか?

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

symfony - ミンク痛風ドライバー。Symfony2.0にfabpot/goutteをインストールできません

私はSymfony2.0.15でcomposerを使用しており、最新のBehat2.4に移行しています。これは私の中にありますcomposer.json

走る:php composer.phar update --dev

そして、エラーがあります:

エラーを正しく理解しているのは、fabpot/goutteパッケージがSymfony 2.1パッケージに依存しており、Symfony2.0では利用できないためです。私が間違っているなら、私を訂正してください。

これが私のbehat.yml

そして、これは私の失敗したシナリオのサンプルです:

"When I go to"--はMinkContextステップですが、"Then the response code should be 200"-はBehat \ CommonContexts\WebApiContextからのステップです。MinkContextのステップのみを使用すると、問題"Then the response status code should be 200"なく動作します。


最終的な答えはBehat\CommonContexts\WebApiContext、Behat2.4と互換性がないということです。

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

symfony - symfony2、behat、および mink: リダイレクト後にコンテナーにアクセスする

ステップが URL (ミンク) にアクセスする behat + mink シナリオがあり、コントローラー

  • コンテナ内のサービスに何かを入れます
  • 別の URL へのリダイレクトを実行します

問題は、コントローラーのリダイレクトによってコンテナーがリセットされるため、サービスが再構築され、次の Behat ステップでコンテナーにアクセスできなくなることです。

コンテナにアクセスする方法はありますか?

0 投票する
4 に答える
2498 参照

symfony - Mink で curl パラメータを設定するには?

Behat を https で保護されたプロジェクトに持ち込もうとしていますが、curl リクエストの開始時にミンクが失敗します。

この問題は、次の 2 つの curl パラメータを設定することで解決できます。

Mink が内部的に guzzle を使用していることは知っています。これにより、curl リクエストが開始されます。curl オプションを使用して guzzle クライアントを正しくインスタンス化するにはどうすればよいですか?

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

phantomjs - サイトの機能テスト

私はMink / Sahiと協力して、自分のサイトの機能テスト スイートを作成しています。

私は Firefox と Chrome で一連のテストを行っており、満足しています。それらは私たちの Jenkins ボックスで毎晩実行されており、うまく機能しています。

ただし、Jenkins ボックスはサーバーであり、Chrome/Firefox は GUI アプリであるため、デスクトップ PC でテストを実行する必要がありました。これは、毎晩スイッチを入れたままにしなければならないことを意味するため、環境上およびコスト上の理由から悪いことです。さらに、電源、ネットワーク、またはソフトウェアに問題がある場合、テストは失敗します。

そこで、Jenkins ボックス自体でヘッドレス ブラウザを使用するようにテストを切り替えることについてアドバイスをお願いします。

私には、Goutte、Zombie、Phantom の 3 つのオプションがあるようです (もちろん、他の人が推奨できる場合を除きます)。以下は、これまでの私の進捗状況をまとめたものです。

  • Goutte : これは PHP 駆動型であるため、Mink 内で実行され、Sahi の必要性がなくなります。Jenkins ボックスにはリソースが限られているため、これは素晴らしいことのように思えます。インストールして実行する必要が少ないほど良いのです。ただし、テストの一部として JS コードを実行する必要があり、Goutte ではこれができないことを理解しています。それはそれを除外しますか?

  • Zombie : Node.js で実行されます。残念ながら、私はこれをまったく機能させることができませんでした。Node、NPM、Zombie をインストールしましたが、Mink に認識させることができません。これを実行する方法について、Mink サイトよりも明確な指示を誰か教えてくれませんか?

  • Phantom : 残念ながら、Mink には Phantom 用のドライバーがないため、Sahi 経由で実行する必要があります。前述したように、Jenkins サーバーに Sahi をインストールする必要はありません。特にサーバーとして継続的に実行する必要があるためです。しかし、これまでに成功したのはこれだけです。Sahi の下で実行すると、テストを正常に実行できます (一貫性があるわけではありませんが、これは心配です。約 3 回に 1 回、ランダムにタイムアウトするようです)。Sahi (またはその他の中間層サーバー) をインストールせずにこれを実行する方法を提案できる人はいますか? または、Sahi が必要な場合は、Jenkins を構成して、テスト スイートの最初に Sahi を開始し、最後に停止する方法を誰か教えてもらえますか?

進め方についてアドバイスをいただければ幸いです。何らかの理由で、これらのオプションのいずれも明確な勝利を収めているようには見えません。しかし、機能テストは重要なので、これは解決された問題でなければなりません。私に最適なソリューションは何ですか?

(Zombie や Phantom と直接対話するために、Javascript でスクリプトを書き直すオプションがあることも知っています。失敗した場合でも、何が起こっているかを確認するために Firefox でそれらが実行されているのを確認する必要があるため、これは避けたいと思います。間違っているので、Mink のようなクロスブラウザー インターフェイスが理想的です。言うまでもなく、私は既にすべてのテストを PHP で記述しています!)

アドバイスをありがとう。:)

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

symfony - Behat と Mink を使用した Symfony2 の登録システムのテスト

私の質問は、Symfony2 のいくつかのアプリケーションのテストに関連しています。私は Behat と Mink を使ってテストを書いていますが、登録システムのテストに問題があります。

ユーザーが登録フォームを送信した後にメールを確認し、このメールのアクティベーション リンクをたどりたいです。

メールのテストに関する短いチュートリアルを見つけました:
http://docs.behat.org/cookbook/using_the_profiler_with_minkbundle.html

このチュートリアルの解決策は、symfony の構成ファイルで「intercept_redirects」が「true」に設定されている場合にのみ機能しますが、この変数を「false」のままにしておく必要があるいくつかのテストが既にあるので、私の質問は...可能ですか?この値を 1 つのテストに対してのみ一時的に変更するには、この値を「true」に変更してからすべてのテストを更新する必要がありますか?

登録システムをどのようにテストし、それらのテストをどのように作成しますか?

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

behat - ミンクのステップを作成する

私はミンクやベハットなどの初心者なので、助けが必要です。

いくつかの行があるテーブルがあり、1つの行が削除されているかどうかを確認したいと思います。

私のシナリオでは、次のようなものがあります。

どうすればいいですか?「応答に1行の値を含めないようにする」にはどうすればよいですか?

これがミンクで可能かどうか、または単体テストを使用する必要があるかどうかはわかりません。

0 投票する
4 に答える
2834 参照

php - Jenkins で Behat - PHP アプリを提供する方法は?

最近、Slim マイクロフレームワークを使用する PHP プロジェクトでBehatMinkの使用を開始しました。Behat テストは正常に動作しますが、Sebastian Bergmann による Jenkins-PHP テンプレートを使用するビルドの一部として実行したいと考えています。

これを行うには、Slim アプリを提供する Web サーバーを実行する必要があると思います。明らかな答えは PHP 5.4 のビルトイン Web サーバーのようですが、私は PHP 5.3 に制限されています。

現時点で私が持っている唯一のアイデアは、Ant ビルドが成功した場合に Jenkins がサーバーにワークスペースをデプロイし、それに対して Behat テストを実行するデプロイ フェーズを持つことです。これは大変な作業になり、不安定になる可能性があるように感じます。さらに、別の VM をスピンアップする必要があるため、これは避けたいと思います。多数の多様なプロジェクトで Behat を採用することを検討しているため、「使い捨て」のものが望ましいでしょう。

この問題を解決する最善の方法は何ですか?