zoukankan      html  css  js  c++  java
  • python语言编写一个接口测试的例子,涉及切割获取数据,读取表格数据,将结果写入表格中

    最近就公司的产品用python写了一个接口的脚本,目前还只是写了一个例子,现在附上我的完整流程。

    哈哈,这是不是也算是做好笔记不至于之后遗忘。

    好了,开始:

    附上我的完整的代码

    #coding=utf-8

    import requests
    import os
    import xlrd
    import re
    import xlwt

    def base_dir(filename=None):
    return os.path.join(os.path.dirname(__file__),filename)
    work=xlrd.open_workbook(base_dir('headlers.xlsx'))
    sheet=work.sheet_by_index(0)

    #登录接口
    def login(url):
    headers = {
    'Authorization': 'Basic YWRtaW46MTIzNHF3ZXI='
    }
    response = requests.get(url, headers=headers)
    # print(response.text.encode('utf8'))
    return response


    url = sheet.cell_value(1, 1)
    requests = login(url)
    # 得到结果进行分割拿到想要的数据
    spilt1 = re.split(' |=| | |=| | |=|_0 ', requests.text)
    # print(list1)
    list_spilt1 = []
    list_spilt1.append(int(spilt1[2]))
    list_spilt1.append(spilt1[5])
    list_spilt1.append(spilt1[8])

    work = xlrd.open_workbook('data.xlsx')
    sheet = work.sheet_by_index(0)
    # 获取行
    nrows = sheet.nrows # 2
    # 获取列
    ncols = sheet.ncols # 4
    ncols = ncols - 1 # 3
    c_list = []
    for nrows in range(1, nrows - 3):
    b = []
    for ncols in range(ncols):
    ctype = sheet.cell(nrows, ncols).ctype
    sheet_name = sheet.cell_value(nrows, ncols)
    # 进行数据转换,将float类型转换为int类型
    if ctype == 2 and sheet_name % 1 == 0.0: # ctype为2且为浮点
    sheet_name = int(sheet_name) # 浮点转成整型
    b.append(sheet_name)
    c_list.append(b)
    # 将结果做成列表
    d_list = []
    for i in c_list:
    if i == list_spilt1:
    result = 'PASS'
    else:
    result = 'FAIL'
    d_list.append(result)

    # 获取到data表格里的备注信息作为下一个表格的开头列(接口名称)
    work = xlrd.open_workbook('data.xlsx')
    sheet = work.sheet_by_index(0)
    nrows = sheet.nrows
    ncols = sheet.ncols
    a_list = []
    # cell_A=sheet.cell(1,3).value
    for i in range(1, nrows): # 第0行为表头
    alldata = sheet.row_values(i) # 循环输出excel表中每一行,即所有数据
    result1 = alldata[3] # 取出表中第三列数据
    a_list.append(result1)

    # 将获取的结果以 登录:pass/faild 移动侦测:pass/faild显示
    title = d_list
    result2 = a_list
    merge = []
    for i in range(len(title)):
    q = []
    q.append(result2[i])
    q.append(title[i])
    merge.append(q)
    #结果写到excel表格中

    myworkbook=xlwt.Workbook('encoding=utf-8')#创建工作簿
    mysheet=myworkbook.add_sheet('XVR_api_result')#添加工作表格
    #设置表头
    mysheet.write(0,0,'接口名称')
    mysheet.write(0,1,'是否通过')

    #通过循环写入表格
    ii = 1
    for data in merge:
    j = 0
    for data2 in data:
    mysheet.write(ii,j,data2)
    j += 1
    ii += 1
    myworkbook.save('XVR_api_result.xls')

    附上我的表格:
    获取请求头URL的表格

    附上生成结果的表格

    好了,以上一个流程完结,下一个任务是:将代码写的规范好看

  • 相关阅读:
    第二篇 Entity Framework Plus 之 Query Future
    【转载】保哥 釐清 CLR、.NET、C#、Visual Studio、ASP.NET 各版本之間的關係
    第一篇 Entity Framework Plus 之 Audit
    搭建公司内部的NuGet Server
    第三篇:Entity Framework CodeFirst & Model 映射 续篇 EntityFramework Power Tools 工具使用
    封装的方法
    选项卡切换
    获取鼠标坐标并且根据鼠标位置不同弹出不同内容
    点击其它位置,div下拉菜单消失
    用js写的简单的下拉菜单
  • 原文地址:https://www.cnblogs.com/fengzixian/p/13695132.html
Copyright © 2011-2022 走看看