1.最近自己在摸索Python+reuqests自动化接口测试,要实现某个功能,首先自己得有清晰的逻辑思路!这样效率才会很快!
思路--1.通过python读取Excel中的接口用例,2.通过python的函数调用,get/Post 进行测试,3把测试结果写到一个新的Excel表格中!
1:编写接口测试用例数据,只是举了两个例子:
2.:函数方法 URl: 服务器地址,host:接口地址,type(请求类型:get或者post),data:参数
import time
import requests
#URl: 服务器地址,host:接口地址,type(请求类型:get或者post),data:参数
def ruqests_test(url,host,type,data):if type=='get':#发送请求 getr=requests.get("%s%s" %(url,host),data=data)return relse :#发送请求 get r=requests.post("%s%s" %(url,host),data=data)return r
3:读取Excel接口用例,调用函数发送请求,接收返回信息,写入Excel文档中
#coding=utf-8
import xlrd
import Test03
import time
import xlwt
#根据索引读取Excel表格中的数据 参数:file:Excel文件路径 colnameindex:表头列名所在行的索引,by_index:表的索引
def excel_table_byindex(file= 'C:\Users\Administrator\Desktop\Test.xlsx',colnameindex=0,by_index=0):data =xlrd.open_workbook(file)table = data.sheets()[by_index]nrows = table.nrows #行数ncols = table.ncols #列数colnames = table.row_values(colnameindex) #某一行数据list =[]for rownum in range(1,nrows):row = table.row_values(rownum)if row:app = {}for i in range(len(colnames)):app[colnames[i]] = row[i]#print app[colnames[i]]list.append(app)return list
if __name__=="__main__":tables = excel_table_byindex()i = 1wb = xlwt.Workbook() # 新建了一个新的工作表sheet1 = wb.add_sheet('Sheet 1')wb.add_sheet('Sheet 2')
#列表名称row1 = sheet1.row(0)row1.write(0, u'地址')row1.write(1, u'状态码')row1.write(2, u'返回信息')row1.write(3, u'时间')for row in tables:#row['value1'] if row['value1'] == ''else int(row['value1']):三目运算,当读取的值为空,就不转换为int类型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'])})row1 = sheet1.row(i)row1.write(0, r.url)row1.write(1, r.status_code)row1.write(2, r.text)row1.write(3,time .strftime("%Y-%m-%d %H:%M:%S", time.localtime()))wb.save('C:\Users\Administrator\Desktop\Test00.xlsx')i=i+1
结果如图所示:
有什么不明白的可以留言! 希望可以帮到一些人!
【下面是我整理的2023年最全的软件测试工程师学习知识架构体系图】
一、Python编程入门到精通

二、接口自动化项目实战
三、Web自动化项目实战

四、App自动化项目实战
五、一线大厂简历

六、测试开发DevOps体系
七、常用自动化测试工具

八、JMeter性能测试
九、总结(尾部小惊喜)
生命不息,奋斗不止。每一份努力都不会被辜负,只要坚持不懈,终究会有回报。珍惜时间,追求梦想。不忘初心,砥砺前行。你的未来,由你掌握!
生命短暂,时间宝贵,我们无法预知未来会发生什么,但我们可以掌握当下。珍惜每一天,努力奋斗,让自己变得更加强大和优秀。坚定信念,执着追求,成功终将属于你!
只有不断地挑战自己,才能不断地超越自己。坚持追求梦想,勇敢前行,你就会发现奋斗的过程是如此美好而值得。相信自己,你一定可以做到!
最后感谢每一个认真阅读我文章的人,礼尚往来总是要有的,虽然不是什么很值钱的东西,如果你用得到的话可以直接拿走:
这些资料,对于【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴上万个测试工程师们走过最艰难的路程,希望也能帮助到你!