問題タブ [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 投票する
4 に答える
560 参照

php - Behat/Mink 使用時の TypeError

次のコードの実行:

エラーメッセージが生成されます:

を参考に:

このコードは、以前は問題なく機能していました。何か案は

コンテキスト: これは Behat/Mink 機能の一部です

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

kohana - behat + ミンクの問題

behat + minkをインストールしようとしています(symfonyではなくkohanaフレームワークで、behatをmodulesフォルダーに入れています-念のためこれを書いていますが、それが問題の原因ではないと思います)。

behat ドキュメントと同じ search.feature ファイルを使用しています。features/bootstrap クラスを次のように変更しています。

そして、CLI で「behat」と入力すると、次のエラーが表示されます。行 80 の .....RawMinkContext.php の非オブジェクトでメンバー関数 getSession() を呼び出します。

このエラーの原因は behat.yml ファイルであることをどこかで読んだことがあります。インストールされた behat フォルダーのルートに新しい behat.yml ファイルを作成し、このコードを内部に配置するのが正しいと思います。

しかしもちろん、同じエラーが発生します。私は多くの構成を試しました: 拡張部分のみをコピーし、デフォルトをコンテキストに変更し、同じコンテンツを他の 3 つの behat.yml ファイル (vendor/behat/behat、および vendor/behat/monk、および vendor/behat/monk) にコピーします。 -意図) - どれも機能しません。

誰かがこれを設定する正しい方法を教えてもらえますか? 多分ここにいる誰かがそれで問題を抱えていたのかもしれません...

ところで。goutte を使用せずに behat を selenium2 ドライバーのみでインストールすると、goutte がインストールされていないというエラーが発生しました。しかし、goutteでインストールすると、fabpot/goutteディレクトリ(またはfapbot/、覚えていませんが、最初のものだったと思います:D)がないというエラーが表示されたので、すべてを削除してbehatを再インストールしました次の composer.json ファイル、これもこのエラーに関係している可能性があります。

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

selenium - Mink: @BeforeStep でページがロードされるのを待ちます

jQuery に依存する @BeforeStep フックで、ページ上でいくつかの JavaScript を実行したいと考えています。ただし、その時点ではjQueryは定義されておらず、実際にはページは空白です。

これが私が達成しようとしていることです:

ページが最初に jQuery をロードするのを待つことができるのではないかと考えました (コメント行) が、そうではありません。そのフックが処理されるまで実行が停止しているようです。

ページでjavascriptを実行するためのbehat/minkエコシステムの適切な場所はどこですか?

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

windows-7 - Windows 7 64 ビットに behat および mink ドライバーをインストールする方法は?

http://mink.behat.org/の手順を使用して、behat で動作するようにミンクをセットアップしようとしています。ご覧のとおり、約 2 画面下で、mink がドライバーなしでインストールされていることがわかります。それは何も話せないということだと思います。

次に、初心者が開始するための composer.json ファイルを提供します。私はそれを試しました、そして私が走るとき

これは私が得るものです。

最小安定性を開発者に微調整しようとしましたが、それは役に立ちませんでした。

私はWindows 7、64ビットで実行しています-そして、bhatとminkをインストールするために多くの微調整をしなければなりませんでした。私は彼らが持っていると思います-持っていないドライブです。

感謝して受け取った助け。イアン

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 に答える
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 投票する
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 投票する
1 に答える
2259 参照

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

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

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

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

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