問題タブ [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.
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.php
features/bootstrap/mink にある a も追加しました。
exensions
features/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 の現在の状態:
windows-7 - コマンド php bin\behat が機能しない
こんにちは、コマンドを使用しようとしています
それは機能していません。結果は
コマンドを使用する必要があります
そしてbehatは働いています。誰かがこの問題の解決策を知っていますか? ここでもこの質問をします: http://forum.symfony-project.org/viewtopic.php?f=23&t=45834
symfony - Behat, mink and goutte: 現在の URI は絶対 URL でなければなりません
Behat と Mink に問題があります。使用ドライバーはグーテ。Symfony 2.1 アプリケーションをテストしようとしています。
私のbehat.yml :
私のtest.feature :
テストを実行しようとすると (Windows 7 の場合):
テストは
そして、「_submit」を押します
このエラーで:
ほとんどすべての可能な base_url パスを既に試しましたが、うまくいきませんでした。
この問題を解決する方法はありますか?
私が提出しようとしているフォーム:
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ファイルを作成する必要がありますが、チュートリアルでは説明されていません:(奇妙な
解決済み:
そしてついに動作するようになりました:)ありがとう
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+」を使用します
ありがとう
symfony - BehatMy定義がロードされていません
私は私が自分に置いた巨大なリスト定義を取りましたそれは私がFeatureContext
そうするときだけの問題です:bin/behat -c app/config/behat.yml -dl
それらはリストに表示されていません
これが私のbehat.yml
設定です:
ContextClass
itlefは、コマンドを実行したときに生成され--init
、定義を追加しただけです。
私は何を取りこぼしたか ?ありがとう。
php - BehatにAJAX呼び出しを待たせるにはどうすればよいですか?
シナリオ:キャンペーンへの不完全な変更を変更して保存します
ポイントは、最後のステップのこの「エラーバルーン」は、操作の成功に応じて緑または赤のバルーンをもたらすajax呼び出しであるということです。現在、私が行っているのは「そして保存を押します...」の後で、このバルーンが表示されるまでの時間を与えるためにsleep(3)を実行します。これは、時間を無駄にしているとは思えません。また、この呼び出しの処理に多少時間がかかる場合もあるためです。
獣をただ眠らせるのではなく、どうやってあなたのbehatテストをAjaxが行われるのを待たせるのですか?
フィードバックありがとうございます!
php - Behat Mink webdriver セッションは、スイート内のすべての機能の後に破棄されます
behat BDD を使用して sugarcrm 機能を自動化し、PHP 用のセレン Web ドライバーを使用して Mink を自動化しようとしています。両方を適切にインストールし、behat と mink を一緒に実行することができました。たとえば、sugarcrm でのログインを 1 つの機能としてチェックします。
今問題は、login.feature と setup.feature という 2 つの機能ファイルを作成するときです。Behat はブラウザでログイン プロセスを正常に自動化しますが、以前の機能からログイン セッションを維持する必要がある setup.feature に切り替えるとすぐに、セッションを破棄してログイン ウィンドウに戻ります。したがって、2 番目の機能テストは常に失敗します。
機能スイートのすべての機能のセッションを維持するにはどうすればよいですか?
私も別のシナリオとして単一の機能ファイルでそれらを試しましたが、同じことが起こっているので運がありませんでした。
誰かがそれについて知っているなら、私を助けてください。
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の内容です:
誰か私をここに案内してもらえますか?
selenium - Selenium2でミンク:すべてのリダイレクトに従ってください
いくつかのアサートを行う前に、Selenium2にすべてのリダイレクトに従うように強制するにはどうすればよいですか?
私は単に待つことができると考えました:
問題は、どれだけ長く待っても、常に「/main」ではなく「/auth」ページに表示されることです。
更新:問題は神話であり、セレンは特別なことを何もしておらず、ブラウザは通常どおりデフォルトでリダイレクトに従います。私の場合、リダイレクトを生成するはずだったページが実際に200応答を送信していました。