Seleniumに統合されたxHTMLマークアップチェッカー
-
03-07-2019 - |
質問
最近、Continuous IntegrationマシンでxHTMLソースの継続的なチェックを使用して、プロジェクトの品質をどのように改善できるかを考えました。
見て、プロジェクトがある
http://sourceforge.net/projects/jtidy -jTidy
JTidyは、 HTML構文チェッカー
およびプリティプリンターであるHTML TidyのJavaポートです。
コマンドラインインターフェイスを介してxHTMLを検証できます。または、このツールは、すべてのソースコードが開いているため、必要に応じて拡張できます。
assertTextPresentなどのすべてのSelenium検証メソッドを上書きできるため、(現在の状態のHTMLソースを提供することにより)jTidyを呼び出し、エラーまたは警告が発生した場合は継続的に保存できます統合マシンビルドのログ-したがって、プロジェクトの関連者はこの情報を見ることができます。
すべてのステップでこの呼び出しを統合するためにすべてのSeleniumメソッドを書き換えることはできませんが、(DOM操作後)必要な場所でこの呼び出しを行うことができます。
はい、私たちのサイトにはW3Cマークアップバリデーターを使用できますが、このバリデーターでページのソースの初期状態ではないことを検証する可能性はありません。ページの作成後、マークアップエラー/警告を生成する可能性のあるDOM操作が多数行われる可能性があります。このスキームですぐに見つけることができます。
継続的インテグレーションを使用する利点の1つは、コードから迅速なフィードバックを得られることです。既存のコードベースとの統合方法、単体テストと機能テストに合格するかどうかのテスト。インスタントxHTMLマークアップ検証ステータスなど、追加の有用な情報を取得しない理由。問題を早く特定すればするほど、簡単に修正できます。
私はまだグーグルでこのテーマについて何も見つけていません。 そして、このアイデアについてどう思いますか?
解決
価値あるアイデアのようです。
CIで同様のことを2つ行ったことがあります:
-
Antの XMLValidate タスクを使用して静的を検証しましたビルドプロセスの一部としてのxhtmlファイル
-
httpunitを使用してページをプルし、それをxmlとして解析しました
しかし、機能テストの実行中に本質的にコンテンツを検証するためにSeleniumに結びつけるというアイデアは、私にとっては斬新です。
他のヒント
そのアイデアは素晴らしいと思いますが、ゼロから実装するのは非常に難しいと思います。 しかし、このアイデアはビルド/品質検証プロセスの進化のようなものであるため、いつかドキュメント付きのすぐに使えるツールとしてリリースされる予定です。
良い考えです! -実際、私はまったく同じ考えを持っていて、誰かが以前にそれをやったことがあるかどうかを確認するだけでした-argh!あなたは私にそれを打つように見えます:)
私は、セレンがヒットした各ページをw3c HTMLおよびCSSバリデーターにキャプチャし、自動送信することを考えていました(状態が保持されるように、リンクではなくファイルで)-エラーで失敗します。私はjtidyのアイデアが好きです。
原則としては素晴らしいですが、Seleniumからどのように呼び出すのかよくわかりません。 SeleneseまたはPHPUnitから実行する方法を説明したドキュメントを参照してください。