接口自动化实例

import requests
import json
import sys
import csv
import codecs
import _md5 #加密模块
reload(sys)
sys.setdefaultencoding('UTF-8')

#web接口测试
url = 'http://web.fangdongliqi.com/'
headers={
    'User-Agent':"Mozilla/5.0 (Windows NT 6.1; WOW64; rv:43.0) Gecko/20100101 Firefox/43.0",
    #'Referer':'http://web.fangdongliqi.com/',
}#能够删除headers

postdata = {
    '__VIEWSTATE':'/wEPDwUJMzg1Nzk2MjkwD2QWAmYPZBYCAgQPD2QWAh4Hb25jbGljawUTcmV0dXJuIExvZ2luQ2hlY2soKWQYAQUeX19Db250cm9sc1JlcXVpcmVQb3N0QmFja0tleV9fFgEFEGNrYlJlbWVtYmVyTG9naW7zJ9o8NUSWJe2HBNn+uJCEZE4MsAZKXcjmcaznjUxegw==',
    '__VIEWSTATEGENERATOR':'70B4BD4E',
    '__EVENTVALIDATION':'	/wEdAAeLLYaLFaPgs2NJYQg6uIupjBZTC/Oe9LtyHr1zdRGwGYWDpeI41dtZo7urN/YwNwCFa3z02QmQnYFjj3wKxfjrkmkX6Qg79auoE/whv3XuAKKeKEbp39eHc9mbdvkCgxC2rOhEGxFaPoqg/tPtiGhk78Q8b6/12FGjdZD/nyEYeD6cFj1ZR7BkhunmMZKpK0k=',
    'txtLoginUser' : 'xxxxxx@163.com',
    'txtLoginPwd' : 'xxxxxx',
    'txtCode':'',
    'hf_LoginCode':'N',
    'btnLogin':u'登陆',
}

s = requests.session()
response=s.post(url, data = postdata,headers=headers)
r=s.get('http://web.fangdongliqi.com/main.aspx')
r1=s.get('http://web.fangdongliqi.com/Users/Ajax_ashx/UserInfo.ashx?GetUserInfo=Y&time=Fri%20Jul%2029%202016%2010:41:22%20GMT+0800')
login=s.get('http://web.fangdongliqi.com/Users/Ajax_ashx/UserInfo.ashx?CheckLogin=CheckLogin')
result=json.loads(r1.text)
#print result
data=r1.json()
#print r1.url
print login.text
#对密码使用_md5加密
password='xxxxxx'
m=_md5.new()
m.update(password)

print result['user']['Password']
'''
if result['user']['Password']==m.hexdigest():
    print "Password:",result['user']['Password']
else:
    print "The password is error"
'''
#讲接口数据写入txt文件
with open('port.txt','wb')as f:
    f.write(json.dumps(data,indent=4,sort_keys=True,ensure_ascii=False))
    print json.dumps(data,indent=4,sort_keys=True,ensure_ascii=False)

#将接口数据写入csv文件中
with open('port.csv','wb')as fr:
    fr.write(codecs.BOM_UTF8)#防止出现中文乱码
    with open('port.txt','rb')as fr1:
        for line in fr1.readlines():
            if 'user'in line:
                continue
            if ':'in line:
                lines=line.split(':',1)
                fw=csv.writer(fr,dialect='excel')
                fw.writerow([lines[0].strip().strip('""').encode('utf-8'),lines[1].strip().rstrip(',').strip('""').encode('utf-8')])