問題タブ [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.
javascript - casperjs を使用した各テストの時間を表示する方法
多くのテストのすべての名前とルートを含む、1 つの配列を持つ「ランチャー」スクリプトがあります。すべてのテストを実行すると、キャスパーはすべてのテストの合計実行時間のみを表示します。各テストスクリプトにどれくらいの時間が必要かを示す必要があります.casperjsにはこれを行う方法がありますか?
param 'all' を使用すると、すべてのテストを実行します。
結果:
そして、私はこのようなものが欲しい:
angularjs - 分度器のリピーター内の要素を取得する
これは単純なことだと思いますが、私の目はゆっくりと死んでいます。
基本的に、リピーター内の要素を取得する方法はありますか? たとえば、リピーター内に一連のアンカーがありますが、アンカーにアタッチされたクラスは汎用であるため、次のようになります。
ここでは、mainNav
リピーター内のアンカーのみを取得します (さらに重要なのは、各アンカーに対応する href です)。
私は考えてfilter()
いましたが、ここで必要なアンカー/hrefのみを取得するためにどの関数を適用できるか完全にはわかりません(これは実際には、ここでhrefをマッピングしている場所で見つけることができる別の質問に関連しています-要素の配列をクリックする分度器)
これは私が考えていることです...どんな助けもいただければ幸いです:
angularjs - 分度器は dom から要素を削除します
私たちが使用しているテンプレートの奇妙な (そしてそれほどクールではない) 動作のため、分度器を使用したテストで立ち往生しています。
ページの読み込み時に、テンプレートには次のように 1 秒後に非表示になるオーバーレイがあります。
*それは私にはひどい気がします (これについてはコメントしたくありません)
とにかく、私のテストは 1 秒よりも速く実行され、このエラーがスローされるため、壊れてしまいます。
明らかにクリックを受け取るオーバーレイだからです。
テストでタイムアウトを設定する回避策を見つけましたが、これは私のスイートと CI/CD プロセスを本当に遅くします。そして、テストコードを乱雑にします。
コードは次のとおりです。
ステートメントの DOM から要素を削除し、beforeEach
テストしたくないのでオーバーレイを完全に削除する方法があるかどうか疑問に思っていました。それが壊れても心配していません。
なにか提案を?
javascript - 分度器はウィンドウで角度を見つけることができません
分度器を使用して基本的な e2e テストを作成しようとしています。以下は私のテストです。URL にアクセスできるかどうかを確認するために console.log を追加しました。ログの出力は、への呼び出しの結果browser.getLocationAbsUrl()
が「保留中」の promise であることを示しています ( Promise::105 {[[PromiseStatus]]: "pending"}
)。私が得るエラーはError while waiting for Protractor to sync with the page: "angular could not be found on the window"
私の設定ファイルは簡単です:
angularjs - キューバの Protractor (AngularJS) を操作するには、Selenium Server を手動でインストールします。
私は AngularJS アプリを開発しており、分度器 (e2e テスト) でテストするのが好きです。私はこの優れたガイドに従っていますが、キューバに住んでいて、Selenium Server をインストールしようとすると 403 エラーが発生するため、ステップ 5 (Selenium サーバーをダウンロードして起動する) で行き詰っています (これは政治的な問題のためです。詳細には立ち入りません)。
問題は、手動または別の方法でインストールする方法です。よろしく、誰かが私を助けてくれることを願っています。
編集:
実行するnode_modules/protractor/bin/webdriver-manager update
と(関連部分)が得られます:
protractor - chai.assert() は、アサーションの前にテストでメソッドを実行しません (chai assert lib with protractor)
初めてSOに問題を投稿するときは、正しくやっているといいのですが。
このテストが行うことは、入力を埋め、必要に応じてドロップダウンを選択し、ファイルをアップロードすることです。
次に、テストはウィジェット内の次のタブに切り替えようとします。
次のタブに切り替えることができたかどうかを判断するために、カスタム メッセージを使用して chai ライブラリ アサーションを作成します。
現在のコードでは、アサートは true を返します。これは、infoTab が表示され、アサートの前にメソッドを実行せずにテストが失敗するためです。
「!== true」を探すようにアサート行を変更すると、メソッドが実行されて先に進みます
いずれにせよ、これを別の方法で行うか、またはアサートの代わりに期待を使用する方がよいでしょうか?