2

私はこれが自由形式の質問であることを知っていますが、うまくいけば、スレッドがロックされる前にいくつかの良い答えが得られるでしょう...

Webサイトがクライアントの観点からオンラインであるかどうかをプログラムでチェックする(言語に依存しない)方法は何か疑問に思っています(サイト/サーバーに変更を加えることはできませんが、サイトの特定の動作に依存することはできます)。

各メソッドの結果は、サイトがアップ/ダウンしていることの確実性の尺度を提供するためにスタックできます。つまり、メソッドは、サイトがそれ自体でアップ/ダウンしているかどうかを明確に示す必要はありません。

'upness'をチェックするための一般的なテストは次のとおりです。

  • サイトにpingを送信します(共有ホスティングの場合はあまりわかりません)
  • http head / getリクエストを送信し、ステータスを確認します

その他、サイトが稼働して機能していることを確認するために考えることができます。

  • 整形式のhtml応答、つまりhtml to htmlタグを受け取ったことを確認してください。サイトで問題が発生した場合、エラーが発生し、ページの残りの部分を書き込まずに終了する可能性があります(ただし、サイトはほとんどのエラーをより適切に処理する可能性があるため、それほど信頼できるわけではありません)仕方)

  • 特定のコンテンツがページにあるかどうかを確認します。つまり、ページに常に存在するコンテンツ、またはエラーが発生した場合に常に存在するコンテンツがある可能性があります。

プログラム内からサイトが実際にアップ/ダウンしていて、正しく機能している/機能していないかどうかを判断するために使用できる他の方法を誰かが考えることができますか?

4

3 に答える 3

3

データベースからの情報を表示するページの get リクエストがステータス 200 で返され、一致するキーワードが見つかった場合は、サイトが稼働していることを確信できます。

そして、それを行うために独自のスクリプトを書く必要はありません。GotSiteMonitorPingdom 、 UptimeRobot などの無料サービスがあり、サイトを監視できます。

于 2013-01-22T05:59:21.777 に答える
1

サーバーが稼働しているかどうかを純粋に確認するのではなく (たとえば ping を使用して)、カスタマー エクスペリエンスの観点から Web サイトをテストおよび監視したいようです。カスタマー エクスペリエンスを再現する効果的な方法は、ヘッドレス ブラウザー テスト ツール ( phantomJSが最適です) の 1 つを使用してサイトに対してテストをシミュレートすることです。実際のページ読み込み時間。これらのツールを使用すると、HTML コンテンツと HTTP 応答のすべての側面についてアサーションを行うこともできます。

pingdomは最近、既存の監視ソリューションと共にこれらの正確なタイプのチェックを実行する (有料の) サービスの提供を開始しました。デモは一見の価値があります。実際のテストを作成するためのインターフェイスは非常に優れています。

于 2013-01-21T10:53:33.017 に答える
0

単体テストの原則に基づいて一連のテストを行います。通常、変更が行われた後にクラス、モジュール、またはその他のアーティファクトをテストするためにプログラミングで使用されます。利用可能なフレームワークのいずれかを使用できるため、一からやり直す必要はありません。実行するテストを記述 (実装) する必要があります。この場合、典型的なテストでは、ページ内の URL を要求してから、次のような評価を行う必要があります。

  • 呼び出し結果 (例: curl 実行の戻りコード)
  • http リターン コード
  • http ヘッダー
  • 応答 MIME タイプ
  • 応答サイズ
  • 応答コンテンツ (正規表現に対するテスト)

このようにして、一度起動したら、フレームワークを気にすることなく、単一のテストを追加、削除、および変更できます。テストを連鎖させることもできるので、1 つのテストでログインを実行し、その後のテストで仮想的にボタンをクリックします。

結果の視覚化、統計などを含む、このようなテスト実行を自動的に処理するツールもあります。

于 2013-01-20T14:09:16.437 に答える