問題タブ [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.
php - Javascriptは、Sahiによって入力されたテキストを取得できません
TL; DR:Behat + Mink(@javascript
w / Sahi)シナリオでは、Sahiはにテキストを入力し<input>
ますが、ページのJavascriptはSahiによって入力されたものを取得できません
アップデート:
解決策:Sahiの最後のバージョンをダウンロードすると問題が修正されました。バグが何であれ、修正されました。
コンテクスト
Behat + Minkで何ができるかをチームに示すために、小さなデモWebサイトを構築しています。正方形のサイズを入力してこの正方形の周囲長を取得できるページがいくつかあります。1つのページは単純な古いPOSTメソッドを使用しており、別のページはJavascriptを使用して周囲長を計算しています
「JSページ」のURL:http: //behatdemo.widop.com/js-square
私のチームにjavascriptのテストが可能であることを示すために、私はSahiをMinkドライバーとして使用していますが、機能していないようです。6
ユーザーが正方形の辺の長さとして入力し、周囲長として取得するシナリオを作成しました24
([githubのファイルへのリンク](https://github.com/clemherreman/behatdemo/blob/master/features/js_square.feature#L7 ))
注:And I wait a little
は、SahiFirefoxウィンドウに表示されている内容を確認できるようにするために10秒待機するデバッグ手順です。
問題
周囲長を計算するjavascriptのスニペットは、6
Sahiによって入力されたものを取得できないようです。コードは次のとおりです([githubのファイルへのリンク](https://github.com/clemherreman/behatdemo/blob/master/website/views/js-square.twig#L27))
を持つ代わりに"Perimeter (using js): 24 cm"
、私はを取得し"Perimeter (using js): Error cm"
ます。
デバッグ/アイデア
調査の結果、空の文字列が返されることが判明しましたjQuery('#side').val()
。そのため、境界ではなく「エラー」が表示されます。
シナリオ中にSahiが入力したものをJavascriptが取得できないようです。
私はこれにかなりこだわっています、私は何かが欠けているように感じます。
リンク:
- Githubプロジェクト(と
*.features
):https ://github.com/clemherreman/behatdemo - ライブウェブサイト:http://behatdemo.widop.com/js-square
バージョン:
- Behat:2.1.2
- ミンク:1.1.1
- サヒ:3.5
- PHP:5.3.6
bdd - Behat / Minkで利用可能なレポートツールはありますか?
Behat / Minkで起動した機能テストの出力を分析するために利用できるツールはありますか?
何かのようなもの :
- このシナリオを何回起動したか
- 何回失敗したか
- 何回通過したか
- X日以降シナリオがテストされていない場合でも警告を表示する可能性があります
実際には、各テストの後、出力はかなりクールですが、各テストの後にいくつかの統計を保存できればさらに良いでしょう。
ありがとう。
symfony - Behat 認証 Symfony2 ユーザー
Symfony2 / Doctrine2 で Behat を使用しています。ここで、「ログインして /login に移動する場合は、代わりに / に移動する必要がある」という事実に要約されるこのシナリオがあります。
@login については、次のものを作成しました。
「/login に移動するとき」コード (コントローラーが呼び出される) では、トークンがなくなったように見えます (意図したものではありません)。
しかし、FeatureContext では、それは固執しているようです (私が望んでいた方法で動作します)。「ログインしている場合」で:
私は次のように実行します:
テストであることを確認するために、コントローラーでもこれを行いました。
ユーザーを認証する方法の手がかりはありますか? 多くの管理ページをテストする必要があるため、ブロックされないように、ログインを @BeforeSuite、@BeforeFeature (または @BeforeScenario ...) にフックできればいいと思います。
(テストのために認証メカニズムを無効にすることに関する提案、またはユーザーをスタブ/モックする方法も歓迎します。)
symfony - Behat テストがランダムに失敗する
Symfony2 プロジェクトを PHPUnit と behat/mink でテストしています。今朝、プロジェクトに behat テストを追加したところ、突然ランダム テストがすべて失敗し始めました。限界に達したようです (メモリ? 実行時間? 何か他のもの?) が、何も見つかりません。
Travis-ci はこのhttp://travis-ci.org/#!/tvlooy/ReadingCorner/builds/383016で失敗しません
私のローカル マシンは失敗します (Lenovo R60、2GB RAM、2x 1.8Ghz CPU)。x86、32ビットでFedora 16を実行しています。PHP 5.3.8 (cli)、Xdebug v2.1.2、PHPUnit 3.6.2。
(編集: PHPUnit 3.6.4 に更新し、Xdebug を削除しましたが、問題は残ります)
Behat テストを次のように実行します。
次のようにテストを実行すると:
私は既に php.ini の memory_limit を 768M に上げましたが、役に立ちませんでした。
合計 57 のシナリオを持つ 7 つの機能ファイルがあります。それほどエキゾチックなものではありません。ファイルはhttps://github.com/tvlooy/ReadingCorner/tree/master/src/Ctors/ReadingCornerBundle/Featuresにあります
PHPUnit (PHPUnit でラップされた behat 機能) を使用してローカル マシンからコード カバレッジを生成するため、1 つのコマンドでローカル マシン上でテストを実行する必要があります。
手がかりはありますか?
testing - 自動化されたテスト ケースを作成するには、Behat-Mink Bundle と Sahi Recorder のどちらが適していますか?
現在、 sahiを介して自動化テストを実行するために Behat-Mink Bundle を使用しています。
自動化テストを行うもう 1 つの方法は、Sahi Recorder を使用してテスト ケースを記録することです。では、Sahi Recorder と Behat-Mink Bundle のどちらを使うの
が良いのでしょうか?
御時間ありがとうございます。
symfony - symfony2 でユーザー認証をテストできません
Behat、Mink、FosUser Bundle で Symfony2 を使用しています。問題は、ログイン テストが常に失敗することです (ログインは開発環境で完全に機能します)。
The text "Logout" was not found where the text of the current page. でテストが失敗します。何が欠けているか、または問題をどのようにデバッグできるかについて何か考えはありますか?
認証されていないページを Behat/Mink でテストできます。
[アップデート]
config_test は次のとおりです (関連するビットのみ)。
behat - Behat で HTML フォーマッタのカスタム テンプレートを設定する方法
behat.yml を試して、テンプレートを /support ディレクトリ内に配置しましたが、助けにはなりませんでした。
何か案は?
symfony - BehatでURLを生成する方法
BehatBundleとMinkBundleを使ってSymfony2アプリケーションのテストを開始しました。今、私はいくつかのページの応答をチェックするシナリオを書こうとしています。これらのページには、エンティティのIDを含むURLを介してアクセスできます。DoctrineによってどのIDが挿入されたかを知る方法を考えています。
次に例を示します。
問題は、挿入されたカテゴリのIDを見つける方法がわからないことです。Behat / Minkでそれは可能ですか?
bdd - HTTPS ベースのログイン サービスに対して Mink テストを実行すると Behat が失敗するのはなぜですか?
ユーザーの観点から内部 IT アプリケーションをテストするために、Cookie ベースのシングル サインオン ソリューションへのログインを含むシナリオの Behat バックグラウンドを確立する必要があります。
これは、Givens でログを設定するための最低限のテストです。これが成功すると、当然、「When」と「Then」が増えます。
このシナリオを実行すると、最初の Given が次のエラーで失敗します。
FeatureContext
これまでのところ、拡張以外のカスタマイズはありません Behat\Mink\Behat\Context\MinkContext