問題タブ [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.
phantomjs - Behat を使用してローカル PHP Web アプリをテストすると、Sahi + PhantomJS が失敗する
behat+sahi+phantomjs が設定されたローカルでホストされている Web アプリケーションのテストで問題が発生しています。
- behat + sahi + chromeだけで完全なスイートを実行しましたが、正常に動作します
- また、うまく機能するライブ スタイルに対して小さなサンプル ビート テストをテストしました。
この問題は、base_url をローカルでホストされているアプリまたはそのアプリがデプロイされているサーバーのいずれかに向けると発生するようです
これと同じくらい簡単なもの:
この出力の結果:
ここで詳述されているセットアップを使用しています: http://shaneauckland.co.uk/2012/11/headless-behatmink-testing-with-sahi-and-phantomjs/
これは構成の問題ですか? それとも、アプリが localhost でもホストされているためですか?
これをさらにトラブルシューティングするにはどうすればよいですか?
ありがとう
php - vendor/behat/mink-extension/src/Behat/MinkExtension/Context/RawMinkContext.php の 81 行目の非オブジェクトに対するメンバー関数 getSession() の呼び出し
コマンド ラインから Behat テストを実行しようとすると、このエラーが発生します。
エラーの完全な出力は次のようになります。
私の behat.yml は次のとおりです。
私は非常に単純な FeatureContext を持っています:
同様に単純な機能:
symfony - 不要なデバッグ情報を表示する Symfony2 での Behat テスト
Symfony2 プロジェクトで Behat テストを実行すると、次のような不要なデバッグ行が大量に表示されます。
私behat.yml
はこのように見えます:
ご覧のとおり、カーネルのデバッグ モードは既にオフにしています。
私のインストールは、Behat の Symfony2 Extension に基づいています。
behat - Behat/Mink での「Remember me」機能のテスト
Symfony2 プロジェクトで Behat と Mink を使用して記憶機能をテストしようとしています。しかし、私のアプローチはうまくいきません。
私は次のことを試しました:
私の機能コンテキストには、(特に) 次のメソッドが含まれています。
問題は にありますiRestartTheBrowser()
。これは、やるべきことをしていません。セッション データをクリアする方法を探していますが、Cookie は保持します。何か助けはありますか?
macos - Mac OS X コマンドラインからブラウザを起動する方法 (Behat BDD テスト用)?
Behat テストでは、テスト シナリオのステップの「最後の応答を表示する」コンテキストがあります。これにより、ブラウザ ウィンドウが起動し、最後の応答の静的な html が表示されます。しかし、これを mac os で実行するとエラーが返されます。
sh: x-www-browser: command not found
このコマンドを特定のブラウザ (例: chrome) に設定する方法はありますか?
behat - Behatの事前定義されたステップの翻訳を使用する(Pharインストール)
MinkExtensionの事前定義されたステップ定義を使用していくつかのテストを実行しました。彼らは英語である限り機能します。
今、私はドイツ語のステップで次のシナリオを試しました:
Behatは、英語版は機能しているが、ドイツ語のステップ定義は未定義であることを教えてくれます。
CLIヘルプによるとbehat --lang de -dl
、翻訳された定義を表示する必要がありますが、英語のものしか表示されません...
私はここで何が間違っているのですか?
編集:シナリオを再構築するためのスクリプトは次のとおりです。一時ディレクトリにあるドキュメント( http://extensions.behat.org/mink/#through-phar )のインストール手順に従い、テスト機能ファイルを実行します。
php - PHPUnit & Behat; 補完または代替?
私はSOとGoogleを見回してきましたが、決定的な答えを得ることができませんでした.
PHPUnit は、JUnit と同様に単体テスト用のフレームワークです。機能テスト用の Selenium 拡張機能と組み合わせて使用します。ブラウジングしていると、Behat/Mink が言及され続けていることがわかります。しかし、Behat がここにどのように収まるかは完全にはわかりません。
Behat を使用すると、人間が読める形式でシナリオを記述できます。Behat はそれを新しいプロジェクトのスケルトン クラスに変換できますか? しかし、単体テスト用のスケルトン クラスも提供していますか? Behat を使用して単体テストを作成しますか、それとも PHPUnit / SimpleTest を使用しますか?
しかし、Behat/Mink は機能テストのために PHPUnit_Selenium-extension を置き換えますか?
Behat は新しいプロジェクトにのみ使用しますか?それとも既存のプロジェクトにも適用できますか?
php - Symfony2 アプリケーションで Sahi / Mink / Behat を使用してファイルをアップロードできない
Symfony2 アプリケーション内のユーザー インターフェイス テストに Mink と Sahi を使用しています。しかし、実際には Sahi でファイルをアップロードすることはできません。
私のSahiサーバーは稼働中です:
私のステップの実装:
ここで、/home/coil/Webdev/sahi/userdata
ディレクトリではないファイルを使用すると、次のエラーが発生することに注意してください。
そのため、有効な既存のファイルでエラーが発生しないため、Sahi はファイルを「見つける」ことができます。ただし、フォームが送信されると、Sahi プロキシによってファイルがアップロードされることはありません。
その他のチェック:
- 副作用がないことを確認するために、クライアント側の HTML5 と JavaScript の検証を削除しました。
- 他のすべての Sahi テストは問題ありませんが、アップロードの 3 つだけが不合格です
- プロキシはテスト用ブラウザに設定されています
- ブラウザーで問題なく Sahi コントローラーを開くことができます
- MaxOsX と Ubuntu で同じ問題
- アップロード テストを実行するたびに、次のような名前の /userdata/temp/download に新しいエントリが作成されます
sahi_11a83f8806be8046fc0aaa80eac076110b95__fr-fr-2-0.bdic
本当に奇妙なのは、これらのテストが数回前に合格したと確信していることです。Sahi ファイルのアップロードを中断するアプリケーションまたは構成で何かが変更されたに違いありませんが、何が見つかりません。以前は、Sahi コンソールにアップロード中のファイルに関するログがありましたが、現在はログがまったくありません。
symfony - カスタム拡張機能で設定された Behat+symfony2 アクセス コンテナー パラメーター
(誰かが私がやりたいことを達成するためのより良い方法を知っている場合に備えて、状況を説明します)。
Symfony2 + Behat + Symfony2Extension + Mink + の使用
シナリオ中にアクセスされる複数の URL を持つアプリケーションがあります。
FeatureContext __construct メソッドから送信されたパラメーターを使用していることは理解していますが、私がしようとしているのは、behat.yml ファイルに URL を設定して、カスタム コンテキストでそれらを使用して URL にアクセスできるようにすることです。
拡張機能がどのように機能するかを見て、次のように依存性注入をセットアップしました。
そして、私の behat.yml は次のようになります。
今私の FeatureContext.php クラスで、次のことをしたいと思います:
しかし、これは機能していません。symfony2extension が有効になっているため、Symfony2 アプリケーションからパラメーターが返されます。しかし、拡張クラスからパラメーターまたはサービスにアクセスできません。
(load メソッドの Extension クラスにいて、設定したパラメーターを呼び出すと、それが返されるので、設定されていることはわかっていますが、別のコンテナーに設定する必要があることに注意してください。)
まず、これは可能ですか?もしそうなら、それを機能させるために私は何をすべきですか?
助けてくれてありがとう。