美文网首页软件测试
Python+reuqests自动化接口测试

Python+reuqests自动化接口测试

作者: A丶咔咔 | 来源:发表于2020-07-15 20:24 被阅读0次

    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):

        iftype=='get':

            #发送请求 get        r=requests.get("%s%s"%(url,host),data=data)

            return r

        else :

            #发送请求 get

            r=requests.post("%s%s"%(url,host),data=data)

            returnr

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

    #coding=utf-8import 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 =[]

        forrownuminrange(1,nrows):

            row = table.row_values(rownum)

            if row:

                app = {}

                foriin range(len(colnames)):

                    app[colnames[i]] = row[i]

                    #print app[colnames[i]]

                list.append(app)

        return listif__name__=="__main__":

        tables = excel_table_byindex()

        i =1    wb = 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'时间')

        forrowin tables:

            #row['value1']ifrow['value1'] ==''elseint(row['value1']):三目运算,当读取的值为空,就不转换为int类型

            r=Test03.ruqests_test(row['url'],row['host'],row['type'],{row['key1']:row['value1']ifrow['value1'] ==''elseint(row['value1']),row['key2']:row['value2']ifrow['value2'] ==''elseint(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

    结果如图所示:

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

    欢迎大家加入我的软件测试技术交流群:1125760266

    相关文章

      网友评论

        本文标题:Python+reuqests自动化接口测试

        本文链接:https://www.haomeiwen.com/subject/fmnjhktx.html