python 进行Web接口测试实战

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

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

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

以下为测试代码:

MD5.py

#coding=utf-8
__author__ = 'hqe0079'
import hashlib
import xlrd
import json
import time
from 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_s
if __name__ == '__main__':
    write_md5_excel("test.xls")

使用requests方法实现接口测试

API_Test

#!/usr/bin/python
#coding=utf-8
import requests
import 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_get

if __name__ == '__main__':
    url_post = "xxx"
    data = MD5.Get_data_From_Excel("test.xls",row_index=1)
    bwsc_post = (url_post,params=data)

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值