python自动化接口测试

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

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

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

3、自己写脚本:java\python都行

其实,作为一个测试来讲,每次功能测试过程 中,都会遇到要写些小脚本辅助测试的时候,这些小脚本并不能完全称作为“自动化”,但是这些小脚本确实是帮忙我节省了效率,可能运行结果只是我控制台输出的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,当然如果要加,也简单。

以下是我的代码:

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

# -*- 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

        = 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

                += 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

  • 4
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值