• Python+reuqests自动化接口测试


    1.最近自己在摸索Python+reuqests自动化接口测试,要实现某个功能,首先自己得有清晰的逻辑思路!这样效率才会很快!

    思路--1.通过python读取Excel中的接口用例,2.通过python的函数调用,get/Post 进行测试,3把测试结果写到一个新的Excel表格中!

    1:编写接口测试用例数据,只是举了两个例子:

    2.:函数方法  URl: 服务器地址,host:接口地址,type(请求类型:get或者post),data:参数

    1. import time
    2. import requests
    3. #URl: 服务器地址,host:接口地址,type(请求类型:get或者post),data:参数
    4. def ruqests_test(url,host,type,data):
    5. if type=='get':
    6. #发送请求 get
    7. r=requests.get("%s%s" %(url,host),data=data)
    8. return r
    9. else :
    10. #发送请求 get
    11. r=requests.post("%s%s" %(url,host),data=data)
    12. return r

     3:读取Excel接口用例,调用函数发送请求,接收返回信息,写入Excel文档中

    1. #coding=utf-8
    2. import xlrd
    3. import Test03
    4. import time
    5. import xlwt
    6. #根据索引读取Excel表格中的数据 参数:file:Excel文件路径 colnameindex:表头列名所在行的索引,by_index:表的索引
    7. def excel_table_byindex(file= 'C:\Users\Administrator\Desktop\Test.xlsx',colnameindex=0,by_index=0):
    8. data =xlrd.open_workbook(file)
    9. table = data.sheets()[by_index]
    10. nrows = table.nrows #行数
    11. ncols = table.ncols #列数
    12. colnames = table.row_values(colnameindex) #某一行数据
    13. list =[]
    14. for rownum in range(1,nrows):
    15. row = table.row_values(rownum)
    16. if row:
    17. app = {}
    18. for i in range(len(colnames)):
    19. app[colnames[i]] = row[i]
    20. #print app[colnames[i]]
    21. list.append(app)
    22. return list
    23. if __name__=="__main__":
    24. tables = excel_table_byindex()
    25. i = 1
    26. wb = xlwt.Workbook() # 新建了一个新的工作表
    27. sheet1 = wb.add_sheet('Sheet 1')
    28. wb.add_sheet('Sheet 2')
    29. #列表名称
    30. row1 = sheet1.row(0)
    31. row1.write(0, u'地址')
    32. row1.write(1, u'状态码')
    33. row1.write(2, u'返回信息')
    34. row1.write(3, u'时间')
    35. for row in tables:
    36. #row['value1'] if row['value1'] == ''else int(row['value1']):三目运算,当读取的值为空,就不转换为int类型
    37. r=Test03.ruqests_test(row['url'],row['host'],row['type'],{row['key1']:row['value1'] if row['value1'] == ''else int(row['value1']),row['key2']:row['value2'] if row['value2'] == ''else int(row['value2'])})
    38. row1 = sheet1.row(i)
    39. row1.write(0, r.url)
    40. row1.write(1, r.status_code)
    41. row1.write(2, r.text)
    42. row1.write(3,time .strftime("%Y-%m-%d %H:%M:%S", time.localtime()))
    43. wb.save('C:\Users\Administrator\Desktop\Test00.xlsx')
    44. i=i+1
    结果如图所示:

    有什么不明白的可以留言!  希望可以帮到一些人!

    Python接口自动化测试零基础入门到精通(2023最新版)

  • 相关阅读:
    第二十七讲.动态设置相关参数(replication为2和blocksize为10字节)
    if 语句 python
    MYSQL语言总结
    vscode按ctrl+鼠标左键没反应
    基于FPGA的通信信号源设计
    使用 K3d 在 Docker 中运行 Kubernetes 集群
    Mysql数据库操作指令
    艾美捷逆转录病毒定量试剂盒标准曲线的制备&结果示例
    一文带你快速入门【哈希表】
    《程序猿笔试题系列》之 有效括号序列
  • 原文地址:https://blog.csdn.net/dq565/article/details/134341925