問題タブ [e2e-testing]
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.
angularjs - 分度器に期待を実行する前にページを待つように指示します
エクスポート ボタンをクリックすると、エンドポイントへの REST 呼び出しが行われ、数秒後に応答が返され、テーブルもレンダリングされます。残念ながら、すべての呼び出しが非同期であることを読みました。つまり、テーブルがまだレンダリングされていなくても、期待どおりに実行されます。私が書いた期待は、文字列がテーブルにあるかどうかをチェックしますが、まだそこにないため失敗しています。これに対する適切なアプローチは何ですか?
コンソールのエラーは
テーブルがまだレンダリングされていないことに気付きました。そのため、失敗しています。
angularjs - 分度器ロケータ チェーンで要素テキストが見つからない
別の要素の下にある要素を見つけようとしましたが、分度器が正しい値を取得できないようです。
ここに詳細な説明があります。
私は次のHTMLを持っています:
次に、次の分度器コードを使用して行を見つけます。
次に、ロケーターをチェーンして特定のセルを見つけようとします。
それから私は期待をします:
そして、ここに私が得るものがあります:
ステージのカウントとして明らかに「1」を持っているのに。私はこれを知っています:
- 私は自分の目でそれを見ます:)
- 予期される直前にデバッグ モードで停止し、HTML を調べて、そのスパンのテキストが実際に「1」であることを確認します。
- 次に、これを試します:
予想の前に HTML のプリントアウトを置きます。
そして、予想される HTML が表示されます。
その直後、私は手動でこれを試します:
そして、印刷物に「」が表示されます...
次に、by.css の代わりに by.repeater を使用して、別の方法を使用して要素を見つけようとしました。同じ結果が得られました。
そこで何が起こるの?明らかに、HTML には正しいマークアップが含まれています。分度器が正しく抽出できないのはなぜですか?
記録のために、私は分度器バージョン 1.4.0 を使用しており、ランナーは Jasmine ではなく mocha 1.18.2 です。
よろしくお願いします、ダニエル
gruntjs - grunt-protractor-runner の使用時に分度器の暗黙の待機が機能しない
現在、いくつかの JS アプリケーションの e2e テストを作成しています。私は JS 開発者ではないので、このテーマについてしばらく調査していたところ、次の設定になりました。
- テストフレームワークとしての Jasmine2
- 「ビルドツール」としてのうなり声
- テストランナーとしての分度器
- CI サーバーとしての jenkins (すでに多くの Java プロジェクトで使用されています)
テスト中のアプリケーションはAngularで書かれていませんが、Angularがなくても分度器をうまく動かす方法についての素晴らしいガイドに従って、分度器を使うことにしました。
いくつかの簡単なテストを作成し、ローカルで実行するのは魅力的でした。いくつかの要素が den DOM に表示されるのを暗黙的に待機するために、conf.js で次のコードを使用しました。
すべてのテストが期待どおりに実行されたので、次のステップ、つまり CI サーバーへのインストールに進むことにしました。
私がテストしたいアプリケーションの開発チームは、すでに grunt を使用してアプリケーションを構築していたので、それに自分自身をフックすることにしました。私の新しい単調なタスクの目標は次のとおりです。
- アプリケーションを組み立てる
- アプリケーションを実行しているローカル Web サーバーを開始する
- 分度器テストを実行する
- テストレポートを書く
最後に、上記のすべての手順を完了しましたが、解決できない問題に対処しており、グーグルで検索する助けが見つかりませんでした. grunt から分度器テストを実行するために、grunt-protractor-runner をインストールしました。
テストは実行されていますが、暗黙の待機が機能していないため、一部のテストが失敗します。いくつかの明示的な待機 (browser.sleep(...)) を追加すると、すべてが再び問題ありませんが、それは私が望むものではありません。
grunt-protractor-runner を使用しているときに暗黙のうちに動作を待機する可能性はありますか?
更新:問題は、うなり声-分度器-ランナーとは何の関係もありません。別の Web サーバーを使用している場合、作業中に再起動します。より正確にするために:プラグイン「grunt-contrib-connect」を使用すると、テストはプラグイン「grunt-php」を使用して機能しますが、テストは失敗します。だから私は今、うなり声用の別のphpサーバーを探しています。この質問を更新します。
更新 2 : いくつかの代替案を探しているときに、私は検討し、最終的にアプリの PHP 部分をモックすることにしました。
javascript - e2e テストで行の列をループする方法
テーブルの内容をテストしようとしていますが、それを達成するためにすべての行と列をループする必要があります。私の現在のコードは次のとおりです。
セルのコンテンツにアクセスしていますが、rows[i].all(....) 内でカウンターがインクリメントされるため、テストは失敗します。私の行の長さは予想どおり2であり、その期待は合格ですが、行[i].all(...)内でもカウンターがインクリメントされる理由はまだ混乱しています。私が得ているエラーは次のとおりです。
失敗: 未定義のプロパティ 'application' を読み取ることができません
これは、インデックス 2 でアプリケーションにアクセスしようとしていて、配列にその要素がないためです。
angularjs - angular e2eテストでURLからIDを抽出する方法
分度器を使用して角度アプリケーションの e2e テスト ケースを作成しています。これが私のコードです
URL(/patientDashboard/encounters/1)からIDを抽出するには? IDが異なる複数の場所で同じURLを使用しているためです。