2013-04-24 2 views
0

저는 webbrowser을 사용하고 있습니다. 따라서 현재 수행중인 성능 테스트에 html을 열 수 있습니다. 이 작은 코드는 자동화의 시작입니다. 함수 perf_measure의 목표는 페이지를로드하는 데 걸린 시간을 url 전적으로 반환하는 것입니다.페이지를로드 할 시간을 측정합니다 - Python

import webbrowser 

def perf_measure(url=""): 

    try: 
     webbrowser.open(url) 

    except webbrowser.Error, e: 
     print "It couldn't open the url: ", url 

url = "www.google.com" 
open_browser(url) 

어떻게 수행 할 수 있습니까? 다음과 같이 초 단위로 값을 입력하면됩니다.

www.google.com Total time to load page in (secs): 2.641 
+2

'webbrowser.open'는 파이어 폭스/크롬/떨어지게을 여는 장식을 사용하여 멋진 방법입니다. 파이썬에서 페이지를로드하지 않습니다. – kay

답변

2

웹 브라우저를 사용해야합니까? 마찬가지로 결과를 볼 필요가 있습니까?

그렇지 않으면 이것을 수행 할 수 있습니다. 당신이 더 많은 사람이 읽을 수있는 결과를 원하는 경우

import urllib2 
from time import time 

stream = urllib2.urlopen('http://www.rarlab.com/rar/winrar-x64-420.exe') 
start_time = time() 
output = stream.read() 
end_time = time() 
stream.close() 
print(end_time-start_time) 

당신은 round를 사용할 수 있습니다.

print(round(end_time-start_time, 3)) 

출력

0.865000009537 # Without Round 
0.865   # With Round 
+0

Anderson, 그래서'end_time-start_time'을 초 단위로 멋지게 포맷해야합니까? – cybertextron

+0

정확합니다. 업데이트 중. – eandersson

+0

나는 그 일을했다. 결과는'5.50746917725e-05'와 같아서,'2.05'와 같이 멋지게 초를 남기고 싶다. – cybertextron

2

import time 

def time_it(func): 
    def wrapper(*arg,**kw): 
     t1 = time.time() 
     res = func(*arg,**kw) 
     t2 = time.time() 
     return (t2-t1),res,func.func_name 
    return wrapper 

@time_it 
def perf_measure(url=""): 
    #w hatever you want 
    pass 
+0

장식자는 확실히 내가 좋아하는 파이썬 기능 중 하나입니다. :) – eandersson

관련 문제