2011-01-14 9 views
0

ほとんどのポータルのように、私たちのポータルは要求された情報を表示するためにいくつかのサービスを呼び出します。 私の質問 - これらの(GET)コールのいずれかが行う500または404のキャプチャを自動化する方法はありますか?セレンの使用?500sと404sの自動検出?

答えて

1

私は実際にセレンを使用してこれを行う "優雅な"方法を発見しました。 は、サーバインスタンスを起動する -

selenium.start("captureNetworkTraffic=true"); 

、その後@TestプレゼントすべてのHTTPトラフィックの統計に

String trafficOutput = selenium.captureNetworkTraffic("json"); // "xml" or "plain" 

を使用します。 このアプローチの利点は、ポータルをナビゲートしながらネットワーク統計を取得できることです。ここで

サンプル(フォーマット済み)www.google.comから出力されます:

-------------------------------- 
results for http://www.google.com/ 
content size: 149841 kb 
http requests: 14 
status 204: 1 
status 200: 8 
status 403: 1 
status 301: 2 
status 302: 2 

file extensions: (count, size) 
png: 2, 60.019000 
js: 2, 67.443000 
ico: 2, 2.394000 
xml: 4, 11.254000 
unknown: 4, 8.731000 

http timing detail: (status, method, url, size(bytes), time(ms)) 
301, GET, http://google.com/, 219, 840 
200, GET, http://www.google.com/, 8358, 586 
403, GET, http://localhost:4444/favicon.ico, 1244, 2 
200, GET, http://www.google.com/images/logos/ps_logo2.png, 26209, 573 
200, GET, http://www.google.com/images/nav_logo29.png, 33810, 1155 
200, GET, http://www.google.com/extern_js/f/CgJlbhICdXMrMEU4ACwrMFo4ACwrMA44ACwrMBc4ACwrMCc4ACwrMDw4ACwrMFE4ACwrMFk4ACwrMAo4AEAvmgICcHMsKzAWOAAsKzAZOAAsKzAlOM-IASwrMCo4ACwrMCs4ACwrMDU4ACwrMEA4ACwrMEE4ACwrME04ACwrME44ACwrMFM4ACwrMFQ4ACwrMF84ACwrMGM4ACwrMGk4ACwrMB04AZoCAnBzLCswXDgALCswGDgALCswJjgALIACKpACLA/rw4kSbs2oIQ.js, 61717, 1413 
200, GET, https://sb-ssl.google.com:443/safebrowsing/newkey?pver=2%2E2&client=navclient%2Dauto%2Dffox&appver=3%2E6%2E13, 154, 1055 
200, GET, http://www.google.com/extern_chrome/8ce0e008a607e93d.js, 5726, 159 
204, GET, http://www.google.com/csi?v=3&s=webhp&action=&e=27944,28010,28186,28272&ei=a6M5TfqRHYPceYybsJYK&expi=27944,28010,28186,28272&imc=2&imn=2&imp=2&rt=xjsls.6,prt.54,xjses.1532,xjsee.1579,xjs.1581,ol.1702,iml.1200, 0, 230 
200, GET, http://www.google.com/favicon.ico, 1150, 236 
302, GET, http://fxfeeds.mozilla.com/en-US/firefox/headlines.xml, 232, 1465 
302, GET, http://fxfeeds.mozilla.com/firefox/headlines.xml, 256, 317 
301, GET, http://newsrss.bbc.co.uk/rss/newsonline_world_edition/front_page/rss.xml, 256, 1357 
200, GET, http://feeds.bbci.co.uk/news/rss.xml?edition=int, 10510, 221 

私は誰もがセレンで撮影し、これらの結果を認証しなかったかどうかを知るに興味を持って、しかし、です。

+0

簡単なメモ、これはSelenium 1のようなものです。http://code.google.com/p/selenium/issues/detail?id=141 ...人々はこのようなプロキシを使用することになりますhttps://github.com/webmetrics/browsermob-proxy –

1

個人的には、この方法でテストするためにSeleniumは使用しません。私はよりプログラム的な方法でテストを行います。私は、ブラウザを起動この

import urllib2 
try: 
    urllib2.urlopen('http://my-site') 
except urllib2.HTTPError, e: 
    print e.getcode() #prints if its 404 or 500 

のようにそれを行うだろうPythonで

は、ロードするために、ブラウザのための時間の点で非常に高価なタスクとその静脈に沿って他のものです。

+0

ありがとうございました!あなたはそのトリックを行うJavaライブラリを知っていますか? – rs79

関連する問題