問題タブ [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 に答える
3576 参照

behat - Behat 2.4 のアップグレードの問題、または「behat」の下の認識されないオプション「extensions」 - behat.yml を介して sahi 拡張機能を有効にしようとするとエラーが発生する

この Behat のことはかなり初めてで、回避できないように見える障害に遭遇しました。私はドキュメントをじっと見つめ、自分の仕事のようにグーグルで検索し、非常階段からコンピューターを放り出さないように最善を尽くしてきました。

私はかなり複雑なプロジェクトに取り組んでいますが、それを設定したのは私ではありません。だから私はいくつかの分野で少し迷っています。

現在、私は Sahi ドライバーを使用しようとしています。これは、テストする必要があるいくつかの動的フォームに対してセレンがそれをカットしていないためです。デフォルトの Selenium ドライバーでテストを正常に実行できますが、フォーム入力時に JavaScript イベントを適切にトリガーしないため、テストは失敗します。具体的には、そのリンクで説明されている回避策で動作しますが、ブラウザーにフォーカスがある場合に限ります。つまり、テストがソースで実行された場合、または xvfb を使用してジェンキンを介して実行された場合に失敗します。

これをすべて説明しているのは、これがより大きな問題であり、Sahi ドライバーを使用して対処しようとしているからです。これにより、次のことがわかります。

これは、ドキュメントに記載されている方法で bahat.yml の特定のプロファイルの Sahi ドライバーを有効にしようとしたときに得られるものです。

デフォルトのプロファイルと、現在 behat.yml で使用しているプロファイルを次に示します (公開用に少し変更しています)。

Fwiw、テストは vm 上にあり、そこに -X を ssh してから、次を使用してテストを実行します。

デフォルトの Selenium ドライバーと @javascript タグを使用している場合、ブラウザーがポップアップし、テストが実行されて合格します (もちろん、ブラウザーにフォーカスを置いていると仮定します)。

composer を使用して追加のドライバーをインストールしました。

use Behat\Mink\Driver\SahiDriver;MinkContext.php、EnvironmentContext.php、FeatureContext.php に追加しましたが、おそらくやり過ぎか、不要であると推測しています。とはいえ、今のところ特に変化はないようです。それがあってもなくても同じエラーが発生します。

sahi.phpfeatures/bootstrap/mink にある a も追加しました。

exensionsfeatures/bootstrap という名前のディレクトリを追加すると、何らかの理由で役立つかもしれないと思いました。と呼ばれるファイルさえそこに貼り付けましたsahi.php。それはあまり役に立ちませんでした。

それがすべてをカバーしていると思います。事前に助けてくれてありがとう。これが他の場所でカバーされている場合は、そこに案内してください.

アップデート:

古いバージョンの behat、mink、gherkin をアンインストールし、このhttps://lestbddphp.wordpress.com/2012/08/31/behatcomposer/に従って 2.4 などをインストールしました。

ドキュメントの「Behat 2.3 から 2.4 への移行」を進めてきました。(申し訳ありませんが、これ以上リンクを投稿することはできませんが、Behat の公式ドキュメントに記載されています。)

私のcomposer.json

behat.yml指示に従って、ファイルをプロジェクトのルートに移動しました。defaultプロフィールを次のように更新しました。

それが私に必要なものかどうかは完全にはわかりませんが。ドキュメントに記載されている例に従ってください。

vendor/autoload.phpを次のように置き換えて更新require_onceしましたrequire

しかし、そのファイルはdocsのサンプルコードとは異なるため、これには少し混乱しています。すでにあるものではなく、ここのドキュメントに行を追加すると、それ自体が読み込まれます。(試してみました。バーフしました。)私は完全に密集していますか、それともここの言葉遣いは混乱/誤解を招きますか? 私はこれを正しく行いましたか?

前に述べたように、次の 3 つのコンテキスト ファイルがありますfeatures/bootstrap

cli 経由でテストを実行するときは、 を渡すと、--profileで適切なプロファイルが使用されbehat.ymlます。ほとんどすべてのプロファイルで、FeatureContextが使用されています。

FeatureContext私が言えることから、EnvironmentContextとを取得します。MinkContextしたがって、理論的には、すべてがそこで機能するはずです。

それだけではありません。

すべての Symfony のものを追加する前に、私はこれを得ていました:

これが、composer を介して Symfony のものを追加した理由です。

また、おそらく注意してください: composer を介して Symfony のものをインストールする前に、 --profile を渡すのを忘れたときに、次のようになりました。

これは予想されることだと思います。

だから私は今途方に暮れています。アイデア?

私はそれを理解できるかどうかを確認するためにそれを叩き続けるつもりですが、アイデア/入力は大歓迎です.

再度更新します。

yml から拡張セクションを削除すると、次のようになります。

behat.yml の現在の状態:

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

windows-7 - コマンド php bin\behat が機能しない

こんにちは、コマンドを使用しようとしています

それは機能していません。結果は

コマンドを使用する必要があります

そしてbehatは働いています。誰かがこの問題の解決策を知っていますか? ここでもこの質問をします: http://forum.symfony-project.org/viewtopic.php?f=23&t=45834

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

symfony - Behat, mink and goutte: 現在の URI は絶対 URL でなければなりません

Behat と Mink に問題があります。使用ドライバーはグーテ。Symfony 2.1 アプリケーションをテストしようとしています。

私のbehat.yml :

私のtest.feature :

テストを実行しようとすると (Windows 7 の場合):

テストは

そして、「_submit」を押します

このエラーで:

ほとんどすべての可能な base_url パスを既に試しましたが、うまくいきませんでした。

この問題を解決する方法はありますか?

私が提出しようとしているフォーム:

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

php - Behatでミンクをアクティブにする方法

そのリンクを読んで、 behat と mink を一緒に使用しようとしています:

http://docs.behat.org/cookbook/behat_and_mink.html#method-1-composer

BehatフレームワークでMinkをアクティブにしようとしていますが、うまくいきません:(

ここにテキスト形式のマニュアルがあります

私は彼が話していると思い /vendor/behat/mink-extension/behat.ymlますか?

これらの行をそのファイルに追加しました

しかし、私がやっているとき、私$bin/behat -dlは見ることができます

mink-extension がアクティブ化されていないようです...しかし、マニュアルに書かれていることをすべて実行した場合、どのようにアクティブ化できますか :(

PS私は完全に新しいクリーンな場所(新しいフォルダ)で(ここからhttp://docs.behat.org/cookbook/behat_and_mink.html )指示に従おうとしましたが、うまくいきません。次のエラーが表示されます

しかし、チュートリアルでは、パスとymlの変更について何も述べていません:(更新されたチュートリアルバージョンが存在する可能性がありますか?

エラーメッセージに基づいて、ブートストラップフォルダーにいくつかのphpファイルを作成する必要がありますが、チュートリアルでは説明されていません:(奇妙な

解決済み:

そしてついに動作するようになりました:)ありがとう

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

behat - ステップURLはBehatと一致する必要があります

ミンクのステップをテストしています:URLは「パターン」と一致する必要があります

私のURLは「/test/34kUñlj」のようなもので、これは_blankターゲットです。これは、リンクをクリックすると新しいウィンドウが開き、URLが「/test/34kUñlj」であることを意味します。

私はサヒドライバーを使用しています。/test/の後のパターンはランダムハッシュです。

最初の問題は、URLが一致する必要があるステップが未定義としてマークされていることです。MinkのAPIを調べたところ、このステップが ""ではないことがわかったので、これを試しました。URLは/ test /ñljñl23と一致し、未定義としてマークされているはずです。

2番目:開いている新しいウィンドウをフォローするのはなぜですか?

そして最後に、そのURL「/test/342lñasjf」のパターンはどうですか。「/test/ \d+」を使用します

ありがとう

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

symfony - BehatMy定義がロードされていません

私は私が自分に置いた巨大なリスト定義を取りましたそれは私がFeatureContextそうするときだけの問題です:bin/behat -c app/config/behat.yml -dlそれらはリストに表示されていません

これが私のbehat.yml設定です:

ContextClassitlefは、コマンドを実行したときに生成され--init、定義を追加しただけです。

私は何を取りこぼしたか ?ありがとう。

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

php - BehatにAJAX呼び出しを待たせるにはどうすればよいですか?

シナリオ:キャンペーンへの不完全な変更を変更して保存します

ポイントは、最後のステップのこの「エラーバルーン」は、操作の成功に応じて緑または赤のバルーンをもたらすajax呼び出しであるということです。現在、私が行っているのは「そして保存を押します...」の後で、このバルーンが表示されるまでの時間を与えるためにsleep(3)を実行します。これは、時間を無駄にしているとは思えません。また、この呼び出しの処理に多少時間がかかる場合もあるためです。

獣をただ眠らせるのではなく、どうやってあなたのbehatテストをAjaxが行われるのを待たせるのですか?

フィードバックありがとうございます!

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

php - Behat Mink webdriver セッションは、スイート内のすべての機能の後に破棄されます

behat BDD を使用して sugarcrm 機能を自動化し、PHP 用のセレン Web ドライバーを使用して Mink を自動化しようとしています。両方を適切にインストールし、behat と mink を一緒に実行することができました。たとえば、sugarcrm でのログインを 1 つの機能としてチェックします。

今問題は、login.feature と setup.feature という 2 つの機能ファイルを作成するときです。Behat はブラウザでログイン プロセスを正常に自動化しますが、以前の機能からログイン セッションを維持する必要がある setup.feature に切り替えるとすぐに、セッションを破棄してログイン ウィンドウに戻ります。したがって、2 番目の機能テストは常に失敗します。

機能スイートのすべての機能のセッションを維持するにはどうすればよいですか?

私も別のシナリオとして単一の機能ファイルでそれらを試しましたが、同じことが起こっているので運がありませんでした。

誰かがそれについて知っているなら、私を助けてください。

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

php - Behat で Symfony を構成する

Behat で機能/シナリオを書いたプロジェクトがあり、現在はほぼ完成しています。symfony が便利なサイトでメール機能をテストする必要があります。しかし、Behat 内から symfony を構成するのに役立つチュートリアルが見つかりませんでした。ほとんどのサイトは Symfony で Behat を提供していますが、その逆はありません。

これは私が見つけた記事で、構成に関する情報がいくつかありますが、完全ではありません。http://extensions.behat.org/symfony2

この記事http://docs.behat.org/cookbook/using_the_profiler_with_minkbundle.html には、メール機能をチェックするコードが記載されていますが、Behat で symfony を構成する方法については言及されていません。symfony 拡張機能をインストールしました。

これは私のcomposer.jsonの内容です:

誰か私をここに案内してもらえますか?

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

selenium - Selenium2でミンク:すべてのリダイレクトに従ってください

いくつかのアサートを行う前に、Selenium2にすべてのリダイレクトに従うように強制するにはどうすればよいですか?

私は単に待つことができると考えました:

問題は、どれだけ長く待っても、常に「/main」ではなく「/auth」ページに表示されることです。

更新:問題は神話であり、セレンは特別なことを何もしておらず、ブラウザは通常どおりデフォルトでリダイレクトに従います。私の場合、リダイレクトを生成するはずだったページが実際に200応答を送信していました。