python 进行Web接口测试实战

来源:互联网 发布:linux建立用户组 编辑:程序博客网 时间:2024/04/28 15:22

目前接到一个商城接口测试项目,根据项目要求,我这边整理下测试思路,先采用Python脚本进行实现:

1、数据与业务分离,所有的测试数据源从excel表中读取

2、生成MD5值,并写入excel表格

以下为测试代码:

MD5.py

#coding=utf-8__author__ = 'hqe0079'import hashlibimport xlrdimport jsonimport timefrom xlutils.copy import copy"""生成md5值"""def md5(str):    m = hashlib.md5()    m.update(str)    return m.hexdigest()def write_md5_excel(xpath):    #打开xls格式文件,并保存之前数据的格式    rb = xlrd.open_workbook(xpath,formatting_info=True)    #获取当前sheet页    r_sheet = rb.sheet_by_index(0)    #获取总列数    table_col_nums = r_sheet.ncols    #获取总行数    table_row_nums = r_sheet.nrows    #拷贝变量    wb = copy(rb)    #根据wb获取对应是sheet    w_sheet = wb.get_sheet(0)    for i in range(1,table_row_nums):        #初始化str        row_data = ""        for j in range(0,table_col_nums-3):            #获取单元格值            cvalue = r_sheet.cell(i,j).value            if type(cvalue).__name__ == 'unicode':                cvalue = cvalue.encode('utf-8')            elif type(cvalue).__name__ == 'float':                cvalue = str(int(cvalue))            #row_data = row_data + cvalue            #字符串连接            print cvalue            row_data = row_data + cvalue        #生成MD5值        strtmp = md5(row_data)        print strtmp;        #写入excel表格中        w_sheet.write(i,table_col_nums-3,strtmp)    wb.save(xpath)    return  md5(row_data)def Get_data_From_Excel(xpath,row_index=None):    json_s = json.loads('{"A":"","B":"","C":"","D":"","E":""}')    print json_s    #打开xls格式文件,并保存之前数据的格式    rb = xlrd.open_workbook(xpath,formatting_info=True)    #获取当前sheet页    r_sheet = rb.sheet_by_index(0)    #获取总列数    table_col_nums = r_sheet.ncols    #获取总行数    table_row_nums = r_sheet.nrows    list = []    #进行格式转换    for i in range(0,table_col_nums):        cvalue = r_sheet.cell(row_index,i).value        if type(cvalue).__name__ == 'unicode':            cvalue = cvalue.encode('utf-8')        elif type(cvalue).__name__ == 'float':            cvalue = str(int(cvalue))        list.append(cvalue)    json_s["A"] = list[0]    json_s['B'] = list[1]    json_s['C'] = list[3]    json_s['D'] = list[4]    json_s['E'] = list[5]    print json_s    return json_sif __name__ == '__main__':    write_md5_excel("test.xls")

使用requests方法实现接口测试

API_Test

#!/usr/bin/python#coding=utf-8import requestsimport MD5#Post方法def bwsc_post(url,data=None, json=None, **kwargs):    erp_post = requests.post(url,data =data,json=json,**kwargs)    print erp_post.url    print erp_post.status_code    print erp_post.text    return erp_post#Get方法def bwsc_get(url,params=None,**kwargs):    erp_get = requests.get(url,params=params,**kwargs)    print erp_get.url    print erp_get.status_code    print erp_get.text    return erp_getif __name__ == '__main__':    url_post = "xxx"    data = MD5.Get_data_From_Excel("test.xls",row_index=1)    bwsc_post = (url_post,params=data)

1 0
原创粉丝点击