問題タブ [web-component-tester]
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 - モカでイベントが発生したことを確認する
要素がモカでイベントを発生させたことをテストするにはどうすればよいですか? 醜いソリューションが機能していますが、あまり読みにくく、失敗したときにタイムアウトするのに時間がかかり、適切な失敗メッセージが表示されません。
完璧な世界では、このようなものがよりクールになると思います。
私はこれを正しい方法で行っていますか?私が使用すべきより良いアプローチまたはカスタムマッチャーライブラリはありますか?
gulp - ポリマー スターター キットの単体テスト
初めてポリマースターターキットを試しています。yeoman ジェネレーターを使用して、基本的なプロジェクトを足場にしました。Web Component Tester を使用して単体テストを実行すると、次のエラーが発生します。
エラー: http://selenium-release.storage.googleapis.com/2.47/IEDriverServer_x64_2.46.0.zipからヘッダーをリクエストできませんでした
以下は、実行時の標準出力ですgulp test:local
[12:39:44] gulpfile を使用しています ~\tryout\js\polymer\admin-portal-client\gulpfile.js [12:39:44] 'wct:local' を開始しています... ローカル ブラウザー用の Selenium サーバーを開始しています
---------- selenium-standalone インストールの開始
--- セレンのインストール: http://selenium-release.storage.googleapis.com/2.47/selenium-server-standalone-2.47.1.jar から: C:\Users\ninpv1\tryout\js\polymer\ admin-portal-client\node_modules\web-component-tester\node_modules\wct-local\node_modules\selenium-standalone.selenium\se lenium-server\2.47.1-server.jar --- chrome install: from: http: //chromedriver.storage.googleapis.com/2.16/chromedriver_win32.zip へ: C:\Users\ninpv1\tryout\js\polymer\admin-portal-client\node_modules\web-component-tester\node_modules\wct-local\ node_modules\selenium-standalone.selenium\ch romedriver\2.16-x64-chromedriver --- すなわちインストール: from: http://selenium-release.storage.googleapis.com/2.47/IEDriverServer_x64_2.46.0.zip 宛先: C:\Users\ninpv1\tryout\js\polymer\admin-portal-client\node_modules\web-component-tester\node_modules\wct-local\node_modules\selenium-standalone.selenium\ie driver\2.46.0- x64-IEDriverServer.exe --- http://chromedriver.storage.googleapis.com/2.16/chromedriver_win32.zipからのファイル は既にダウンロードされています --- http://selenium-release.storage.googleapis.com/からのファイル2.47/selenium-server-standalone-2.47.1.jar は既にダウンロードされています [12:40:10] 'wct:local' は 26 秒後にエラーが発生しました [12:40:10] エラー: http: // からヘッダーを要求できませんでした /selenium-release.storage.googleapis.com/2.47/IEDriverServer_x64_2.46.0.zip :
ノードバージョン: v0.12.7 npm バージョン: 2.11.3 OS: Windows 7
何が間違っている可能性がありますか?
polymer - wct-local テストのブラウザーの場所を指定する
Polymer スターター キットには、カスタム要素を単体テストするための web-component-tester が含まれています。
wct.conf.json
テストを実行するブラウザを指定できます。
残念ながら、gulp でテストを起動すると、wct はローカルの Firefox を見つけることができません。GitHubで、wct がランチパッドを使用してローカル ブラウザーを検出することを読みました。Afaik、Windows マシンでは、ランチパッドは既定のディレクトリで Firefox を検索します"C:\Program Files\Mozilla Firefox"
。しかし、Firefox を別のディレクトリにインストールしました。
で Firefox ディレクトリへのパスを設定する方法はありますwct.conf.json
か?
selenium - Web Component Tester でサーバーを置き換えるにはどうすればよいですか
Web-Component-Tester を含む Polymer Starter Kit に基づいてプロジェクトをセットアップしています。
このプロジェクトには PHP サーバー コードが含まれており、Ajax 呼び出しを通じて PHP サーバー コードを利用するブラウザーで実行するテストを作成してテストしたいと考えています。
これは、Web Component Tester がサーバー側のコードをテストするときにのみ使用しているサーバーを置き換えることを意味します。これについては、別のgulpタスクを作成したいと考えています。
残念ながら、WCT、Selenium、および現在実行されているサーバーとの関係がわかりません。WCT コマンドで Selenium が起動することはわかりますが、Web サーバーが何で、どのように起動されるのかわかりません。ディレクトリからURLへのマッピングの構成があるため、WCTであると思われますが、それ以外は、コードを読み取ろうとしても手がかりがありません。
クライアントをテストするときに独自のサーバーを実行する方法を誰かが説明できますが、サーバーを実行するときに既に設定されている Web サーバー (nginx) に依存しています。別の構成を選択する方法である場合は、nginx をローカル ホストまたは他のドメインから実行するように設定できます。
編集: runner/webserver.js が高速サーバーを開始し、URL がマップされるため、テスト ランナーのベース ディレクトリと bower_components ディレクトリの両方が /components URL にマップされることがわかりました。
現在私を混乱させているのは、これがどのような状況で実行されるかです。プラグインをロードするとどうにかできるようですが、コードを読んでも理解が不十分です。
polymer - アタッチ時に失敗するはずのポリマー要素をテストするにはどうすればよいですか
特定の他のカスタム要素にアタッチされた直後に DOM をスキャンする要素 (ルーター - しかし、それは重要ではありません) を作成しています。エラーをスローする必要がある特定のケースがあり、これらをテストしたいと思います。
私が作成したテストは失敗していませんが、要素がアタッチされる前に、テストが既に失敗していることがわかります。それは物事の非同期的な性質だと思います。
これが問題のテストのスニペットです。問題のテスト フィクスチャには、「dom-change」イベントが発生した後に要素の 1 つが失敗する原因となる要素が含まれています (これにはリスナーがあります)。
問題は、フィクスチャが複数で作成されているという事実に関連していると思いますが、複数の終了時までにまだ失敗していません。期待する Promise を渡すことができるかどうか疑問に思っていますが、複数を Promise に変換して試してみる方法がわかりません。
unit-testing - Web Component Tester をローカルで実行する
Web Component Tester ( wct
) をグローバルにインストールする必要がありますか? 例npm install -g web-component-tester
。ローカルモジュールとしてインストールする方法はありますか? 例npm install web-component-tester
。もしそうなら、どうすればそれを実行できますか?