• python自动化接口测试


      前几天,同组妹子说想要对接口那些异常值进行测试,能否有自动化测试的方法。仔细想了一下,工具还挺多,大概分析了一下:

    1、soapui:可以对接口参数进行异常值参数化,可以加断言,一般我们会加httpcode是否200的较验,或者返回值json里是否有success标识等

    2、LR:脚本容易,但是不易于维护,还有就是使用成功高

    3、自己写脚本:javapython都行

    其实,作为一个测试来讲,每次功能测试过程 中,都会遇到要写些小脚本辅助测试的时候,这些小脚本并不能完全称作为“自动化”,但是这些小脚本确实是帮忙我节省了效率,可能运行结果只是我控制台输出的log而已,但对于个人使用已足够

    我想了一下,做了个简单的脚本,思路不复杂,主要是想做:

    例如有一个Get接口:

    https://ics.pcauto.com.cn/magear/s/pcauto/wenda/tagTopics.xsp?pageNo=1&tagId=2836

    其中URL是:https://ics.pcauto.com.cn/magear/s/pcauto/wenda/tagTopics.xsp

    pageNo和tagId是参数,我想要做的就是,有一个文本,里面存储的是一些异常值

    如下图:

    我想要自动化去帮我把这些异常值带入pageNo或tagId中然后去发送get请求,然后获取响应结果,

    但因为这里可能没那么多,同一类型的参数值只有一个,

    还有就是我们的接口返回做的不规范,有时候输入异常是一个200状态但标识是status:0,有时候又是直接400或500的返回,所以用于个人测试,我这里没有做结果判断error还是fail,当然如果要加,也简单。

    以下是我的代码:

    # -*- coding:utf-8 -*-
    '''
    @Author :xx
    @Version : v1.0
    @File   :wexcel.py
    @CreateTime :2019-11-06 上午 11:23
    '''
    
    import xlrd
    import requests
    import xlsxwriter
    class wexcel:
        #参数化
        def xlwd_excel_param(self, url, input_params_file, excel_file, get_params):
            workbook = xlsxwriter.Workbook(excel_file)  # 创建一个Excel文件
            worksheet = workbook.add_worksheet()  # 创建一个sheet
            title = [U'输入',U'输出', U'测试参数']  # 表格title
            worksheet.write_row('A1', title)  # title 写入Excel
            i = 0
            #循环读取get_params
            for key in get_params:
                paramlist = open(input_params_file, 'r')
                #当运行第1个的参数的时候,值替换为line
                # print(key)
                for line in paramlist:
                    get_params[key]=line
                    i += 1
                    num = str(i+1)
                    row = "A" + num
                    col = "B" + num
                    third = "C" +num
                    response = requests.get(url, params=get_params)
                    res = response.text
                    worksheet.write_row(row, [line])
                    worksheet.write_row(col, [res])
                    worksheet.write_row(third, [key])
                    print(line,'--------',res,'-------',key)
            workbook.close()
    
    a=wexcel()
    input_params_file="E:\param\input.txt"
    excel_file="E:\param\res.xls"
    url="https://xx.pcauto.com.cn/magear/s/pcauto/wenda/questionDetail.xsp"
    res_data = {
        'pageNo': 1,
        'qid': '1114031'
    }
    a.xlwd_excel_param(url,input_params_file,excel_file,res_data)  
    

     跑出来的结果是:

     基本上,对业务熟悉的人,一眼就知道对错了。如果你的接口规范,可以获取json值,加上断言,直接输出error或success

  • 相关阅读:
    SQL-Duplicate Emails
    c#创建可比较对象
    c#扩展方法
    C#Lambda和委托
    C#集合
    c#显示实现接口和隐式实现的区别
    bs同时上传文件以及文件信息
    sql查询数据库中所有 ,数据为空的表
    sql查询所有表名和描述
    MES数据采集模块小结
  • 原文地址:https://www.cnblogs.com/sincoolvip/p/11812963.html
Copyright © 2020-2023  润新知