問題タブ [angularjs-e2e]

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

api - AngularJS 分度器 E2E モッキング

ノード バックエンドからデータを取得する Angular SPA があります。ノード プロジェクトはテストで完全にカバーされているので、Angular HTTP 呼び出しをモックしたいと思います。(一般的な機能/煙テストについての議論を始めたくありません、ありがとう)。

私が欲しいのはs.thです。このような

しかし、どうやっても良い解決策を見つけることができません。同じ問題に関する投稿がいくつか見つかりました。たとえば、これ

分度器は頻繁に変更されるため、HTTP リクエストをモックするための適切な解決策を誰かが見つけたかどうか、ここで SO に尋ねたいと思います。

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

javascript - (分度器) クリック時に入力が無効になっているかどうかを確認していますか?

ユーザー名とパスワードの 2 つの入力フィールドと、スピナー ボタンがあります。このスピナー ボタンをクリックすると、これら 2 つの入力フィールドが無効になり、別のページにリダイレクトされます。これらの入力フィールドが無効になっているかどうかを確認するエンド ツー エンドのテストを作成しています。

0 投票する
0 に答える
702 参照

angularjs - AngularJS : エンド ツー エンド テストでバックエンド サーバーをモックする

最初の Angular ディレクティブを作成していて、エンド ツー エンドのテストを行いたいのですが、バックエンドへの呼び出しをモックする方法がわかりません。

テストを行うために ng-scenario と karma を使用しています

これが私のモジュールです

$http 行をコメントアウトすると、テストに合格します。それでは、エンド ツー エンド テストで $http 呼び出しをモックアウトする最良の方法は何でしょうか?

アップデート

ngMockE2E を読み込もうとしています

リクエストをモックする myAppDev.js ファイルを作成しました

E2E テスト用のすべてをロードする runner.html ファイル

そして、代わりにランナーファイルに移動するようにテストを変更しました。

モッキングが機能していないため、まだエラーが発生しています。

0 投票する
0 に答える
372 参照

javascript - ngScenario: browser().window() と browser().location() の違いは何ですか?

私は AngularJS を使用したエンドツーエンドのテストについて学んでおり、Angular Scenario Runner (ngScenario) について読んでいます。その API については、http://docs.angularjs.org/guide/e2e-testing で説明されています

私の質問は、タイトルのように簡単です。

上記のリンクのドキュメントによると、browser().location()メソッドは$locationサービスの対応するメソッドの結果を返します。

たとえば、次のようになります。

  • browser().location().path()を返しますが$location.path()
  • browser().window().path()戻り値window.location.pathname

サービスドキュメントでは$location、次のように説明されています。

$location サービスは、(window.location に基づいて) ブラウザーのアドレス バーの URL を解析し、その URL をアプリケーションで使用できるようにします。

したがって、どちらも最終的にwindow.locationオブジェクトに解決されるようです。

私が見逃している違いは何ですか? また、どちらか一方を使用するのはいつですか?

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

javascript - AngularJS によるバックエンドレス テストの初期化

私は AngularJS + RequireJS アプリを持っています。私の仕事は、UI 開発用のバックエンドレス バージョンを作成することです。そのため、リクエストされた HTTP の一部/すべてがモックされたバージョンです。必要なユーザー フローは次のとおりです。

  1. ユーザーは /debug にアクセスして、バックエンドレス バージョンを初期化します。
  2. ユーザーは、HTTP リクエストをモックしてアプリを使用できます。

ngMockE2E.$httpBackend を使用しようとしています。しかし、すでにブートストラップされているアプリに挿入する方法に関する情報は見つかりません。グーグルで検索されたほとんどの例に従って、新しいモジュールを作成し、そのモジュールをブートストラップしようとしています:

しかし、これにより、「エラー: ng:btstrpd アプリはこの要素で既にブートストラップされています」というメッセージが表示されます。このタスクを開発する方法についてのアイデアはありますか?

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

javascript - エラー: 分度器が 11001 ミリ秒後にページと同期するのを待ってタイムアウトしました。" ユーザーが browser.getCurrentUrl() の場合

ログインとログアウトの機能をテストしています。以下は私のテストケースです

上記のテストを実行すると失敗し、以下はエラーメッセージです

使用してみbrowser.waitForAngular();ましたが、役に立ちません。私が期待を削除すると"expect(browser.getCurrentUrl()).toMatch(/\/login/);"、それは渡されます。誰もが同じ問題に遭遇したことがあります。

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

angularjs - AngularJS e2e テストが 2 つの個別の角度アプリ間で変更するとハングする

イライラする問題があります。複雑なAngularアプリのエンドツーエンドのテストを書きたいのです。問題は、ログイン画面が別アプリになっていることです。最初のアイデアは、ログイン資格情報に基づいてエコシステム内の他のAngularアプリを分離するために分岐するというものでした. それは魅力のように機能します。ただし、テストの場合は悪夢です。

テストは期待どおりに機能しますが、正しい資格情報が入力され、メインの角度アプリが読み込まれるとすぐに、テストはタイムアウトになります。エラーメッセージやデバッグ出力はまったくなく、ただ待っているだけです。ページが正しく読み込まれていることがわかります。

ここで、この部分をスキップしてターゲット アプリで正しくテストしようと考えましたが、最初に適切な資格情報でサーバーを初期化する必要があるため (= ログイン画面を通過する)、どちらも機能しません。

これをカルマ シナリオ ランナーと分度器で試してみましたが、どちらもまったく同じ動作を示します。ターゲット ページが読み込まれた後に再初期化するように指示できますか?