与大多数门户网站一样,我们的门户网站会调用多个服务来显示所请求的信息。
我的问题 - 有没有办法自动捕获任何这些(GET
)调用中的任何500或404?使用Selenium?
答案 0 :(得分:1)
我个人不会以这种方式使用Selenium进行测试。我会以更加程序化的方式进行测试。
在Python中,我会这样做
import urllib2
try:
urllib2.urlopen('http://my-site')
except urllib2.HTTPError, e:
print e.getcode() #prints if its 404 or 500
就浏览器加载时间和其他方面而言,启动浏览器是一项非常昂贵的任务。
答案 1 :(得分:1)
我实际上找到了一种使用Selenium的“优雅”方式。 以 -
启动服务器实例selenium.start("captureNetworkTraffic=true");
然后使用
String trafficOutput = selenium.captureNetworkTraffic("json"); // "xml" or "plain"
@Test
中的显示所有HTTP流量统计信息。 这种方法的优点是可以捕获网络统计数据,同时在门户网站中导航。
以下是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
但是,我很想知道是否有人确认了Selenium捕获的这些结果。