web-dev-qa-db-ja.com

システムテスト用の自動リンクチェッカー

ロジックや構成が更新されると、予期しない方法で壊れる壊れやすいレガシーWebサイトを使用することがよくあります。

Selenium スクリプトを作成するために必要なシステムの時間や知識がありません。その上、私は特定のユースケースをチェックしたくありません-私はサイト上のすべてのリンクとページを確認したいと思います。

サイトをスパイダーし、リンク切れやクラッシュをチェックする自動システムテストを作成したいと思います。理想的には、これを実現するために使用できるツールがあるでしょう。優先度の高い順に、次の機能をできるだけ多く持つ必要があります。

  • スクリプトでトリガー
  • 人の介入は不要
  • アンカータグ、CSSおよびjsファイルへのリンクを含むすべてのリンクをたどります。
  • 見つかったすべての404、500などのログを生成します。
  • ローカルに展開してイントラネット上のサイトをチェックできます
  • Cookie /フォームベースの認証をサポート
  • フリー/オープンソース

FitNesseFirefoxのLinkCheckerW3Cリンクチェッカー など、多くの部分的なソリューションがありますが、どれも私が必要とするすべてを実行しません。

さまざまなテクノロジーとプラットフォームを使用するプロジェクトでこのテストを使用したいので、よりポータブルなソリューションほど優れています。

これは適切なシステムテストに代わるものではないことを理解していますが、サイトのどの部分も明らかに破損していないことを確認する便利で自動化可能な方法があれば、非常に役立ちます。

44
ctford

私は Xenu's Link Sleuth をこの種のものに使用します。どのサイトでもデッドリンクなどがないかをすばやく確認します。任意のURIにポイントするだけで、そのサイトのすべてのリンクがスパイダーされます。

サイトからの説明:

XenuのLink Sleuth(TM)は、リンク切れがないかWebサイトをチェックします。リンクの検証は、「通常の」リンク、画像、フレーム、プラグイン、背景、ローカルイメージマップ、スタイルシート、スクリプト、およびJavaアプレットで行われます。URLの継続的に更新されるリストが表示されます。さまざまな基準でソートできます。レポートはいつでも作成できます。

これは、手動で起動する必要があるWindowsアプリであるため、スクリプト可能であることを除いて、すべての要件を満たしています。

28
Matt Lacey

Linkcheckerを使用していて、本当に気に入っています。

http://wummel.github.io/linkchecker/

オープンソースで、Python、コマンドライン、内部展開可能で、さまざまな形式で出力されます。問題について彼に連絡したとき、開発者は非常に役に立ちました。

Rubyスクリプトを使用して、内部Webサイトのデータベースにクエリを実行し、各サイトに適切なパラメーターを使用してLinkCheckerを開始し、LinkCheckerが提供するXMLを解析して、サイトごとにカスタムエラーレポートを作成します。私たちのCMS。

33
Sean McMains

このためにwgetを使用してみてください。 「ページの必要条件」(ファイルなど)を含むサイトをスパイダーし、エラーをログに記録するように設定できます。十分な情報があるかどうかはわかりませんが、無料で、Windows(cygwin)とUNIXで利用できます。

W3Cリンクチェッカーがリストのどの部分を満たしていませんか?それが私が使うものでしょう。

あるいは、 twill (pythonベース)は、この種の興味深い言語です。 リンクチェッカーモジュール がありますが、再帰的に機能するとは思わないため、スパイダー処理にはあまり適していません。しかし、それに慣れていれば修正することができます。そして私は間違っているかもしれません、再帰的なオプションがあるかもしれません。とにかく、チェックアウトする価値があります。

2
Zac Thompson

私はいつもサイトのリンクをチェックするために linklint が好きでした。ただし、それがすべての基準、特にJavaScriptに依存する可能性のある側面を満たしているとは思いません。また、CSS内から呼び出された画像を見逃してしまうと思います。

しかし、すべてのアンカーをスパイダーする場合、それは素晴らしい働きをします。

1
artlung

InSite は、あなたが望んでいるように見える(使用していない)商用プログラムです。

もし私があなたの靴の中にいるなら、おそらく私はこの種のクモを自分で書くでしょう...

1
orip

フォーム認証がサポートされているかどうかはわかりませんが、サイトで取得できる場合はCookieを処理します。それ以外の場合は、 Checkbot がすべてを実行すると思いますあなたのリストに。私は以前、ビルドプロセスのステップとして、サイトで何も壊れていないことを確認するために使用しました。ウェブサイトに 出力例 があります。

1
Ian G

試してみてください http://www.thelinkchecker.com これは、発信リンクの数、ページランク、アンカー、発信リンクの数をチェックするオンラインアプリケーションです。これはあなたが必要とするソリューションだと思います。

0
Barry

SortSite を試してください。無料ではありませんが、必要なすべてのことを行うようです。

あるいは、同じ会社の PowerMapper は、似ているが異なるアプローチを持っています。後者の場合、ページの詳細な最適化に関する情報は少なくなりますが、リンク切れなどは識別されます。

免責事項:私はこれらの製品を製造している会社に経済的利益を持っています。

0
Gary McGill