最近想写一个自动测试项目全流程的脚本,由于接口是 http 协议的且许多接口需要登陆,所以需要处理cookie,发现实现起来很简单,如下:
其中 url2 是需要登陆后才能访问的,否则会返回错误,通过输出返回结果很容易判断出cookie生效了
#!python
# -*- coding: utf-8 -*-
import cookielib, urllib2
def testWithCookie():
'''
自动处理 cookie
'''
url1 = 'http://domain.com/login?xxxx'
cj = cookielib.CookieJar()
opener = urllib2.build_opener(urllib2.HTTPCookieProcessor(cj))
urllib2.install_opener(opener)
resp = urllib2.urlopen(url1)
print(resp.read())
print cj._cookies.values()
url2 = 'http://domain.com/xxx'
resp = urllib2.urlopen(url2)
print resp.read()
if __name__ == '__main__':
testWithCookie()
其中 url2 是需要登陆后才能访问的,否则会返回错误,通过输出返回结果很容易判断出cookie生效了