用python写的一个网页测试工具


分类: python 1865人阅读 评论(0) 收藏 举报

写了一个测试网站的脚本,用多线程跑的,每个线程每秒去取一次网页,因为这个脚本用到了线程啊,time,ulrlib这些东西,也许对其他人会有用,贴出来吧。

另外一个原因是,通过这个脚本,发现python的效率真的不错,无论是开发效率还是执行效率。之前完全没用过python的thread和time,一边看python programing,一边写,也就一个小时的功夫,看上去效果还不错。

代码如下:

 


#!/usr/local/bin/python
#FileName = test_Web.py

#get from db
#http://192.168.1.74/spaces/posts/postdetail.aspx?id=
#put into db
#http://192.168.1.74/admin/space/post/post_add.aspx?fid=0&um=300372&v=__VERSION__&title=0&content=hahaasdfasdf

import thread, time, urllib

id_index = 100000
id_count = 20000
id_max = id_index+id_count
i_cnt = 0
time_begin = time.time()
bStop = False

def openurl():
 sock = urllib.urlopen("
http://192.168.1.74/admin/space/post/post_add.aspx?fid=0&um=300372&v=__VERSION__&title=0&content=hahaasdfasdf")
 htmlSource = sock.read()
 #print htmlSource
 sock.close() 
 
def opengeturl(id):
 strUrl = "
http://192.168.1.74/spaces/posts/postdetail.aspx?id=%d" % id
 print strUrl
 sock = urllib.urlopen(strUrl)
 htmlSource = sock.read()
 #print htmlSource
 sock.close() 

def child( myID ):        # this function runs in threads
 while( True ):
  global id_index
  global id_max
  global id_count
  global time_begin
  global bStop
  global i_cnt
  
  if( i_cnt > id_count ):
   now = time.time()
   i_handle_time = now - time_begin
   if( bStop == False ):
    print "%d rows cost %f second" % ( id_count, i_handle_time )
   bStop = True
   break
  #id_index = id_index + 1
  i_cnt = i_cnt + 1
  print "[%d] ==> %d" % (myID, id_index)
  opengeturl(id_index)
  time.sleep(1)

for i in range( 500 ):       # spawn 3 threads
 thread.start_new( child, (i,) )
 
time.sleep(1000000)
print 'Main thread exiting.'        # don't exit too early

 


  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值