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

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,当然如果要加,也简单。

以下是我的代码:

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

python自动化接口测试的更多相关文章

  1. python 自动化接口测试(6)

    迎接新的一波更新吧,这次是基于图灵机器人的一个api接口的测试. 这是api的接口:http://www.tuling123.com/openapi/api 我们试着通过浏览器直接访问看下 这是反馈的 ...

  2. Python+reuqests自动化接口测试

    1.最近自己在摸索Python+reuqests自动化接口测试,要实现某个功能,首先自己得有清晰的逻辑思路!这样效率才会很快! 思路--1.通过python读取Excel中的接口用例,2.通过pyth ...

  3. python+requests+unittest执行自动化接口测试

    1.安装requests.xlrd.json.unittest库 <1>pip 命令安装: pip install requestspip install xlrdpip install ...

  4. Selenium2+python自动化39-关于面试的题

    前言 最近看到群里有小伙伴贴出一组面试题,最近又是跳槽黄金季节,小编忍不住抽出一点时间总结了下, 回答不妥的地方欢迎各位高手拍砖指点.   一.selenium中如何判断元素是否存在? 首先selen ...

  5. 薅羊毛? 月入10万? | 这是自动化测试老司机的特长--Python自动化带你薅视频红包,一个都不放过!

    一.目标场景 如今短视频横行的时代,以某短视频为首的,背后依靠着强大的资金后盾,疯狂地对平台用户进行红包轰炸. ​ 与传统的红包不一样,视频红包包含位置的不确定性.大小不确定性.元素 ID 的不确定性 ...

  6. 【软件测试 Python自动化】全网最全大厂面试题,看完以后你就是面试官!

    前言 为了让大家更好的理解和学习投入到Python自动化来找到一份好的资料也是学习过程中,非常重要的一个点.你的检索能力越强,你就会越容易找到最合适你的资料. 有需要的小伙伴可以复制群号 313782 ...

  7. 测开之Python自动化全栈工程师+性能专项(送思维导图)

    测开之Python自动化全栈工程师+性能专项 功能测试基础 接口测试基础接口的通信原理与本质cookie.session.token详解接口测试的意义与测试方法接口测试用例的设计 app测试 app流 ...

  8. flow.ci + Github + Slack 一步步搭建 Python 自动化持续集成

    理想的程序员必须懒惰,永远追随自动化法则.Automating shapes smarter future. 在一个 Python 项目的开发过程中可能会做的事情:编译.手动或自动化测试.部署环境配置 ...

  9. Selenium2+python自动化23-富文本(自动发帖)

    前言 富文本编辑框是做web自动化最常见的场景,有很多小伙伴遇到了不知道无从下手,本篇以博客园的编辑器为例,解决如何定位富文本,输入文本内容 一.加载配置 1.打开博客园写随笔,首先需要登录,这里为了 ...

随机推荐

  1. zabbix--分布式监控proxy

    zabbix 分布式监控代理(proxy) 概述: zabbix proxy 可以代替 zabbix server 收集性能和可用性数据,然后把数据汇报给 zabbix server,并且在一定程度上 ...

  2. 如何测试Web服务.3

    -->全文字数:2254,需要占用你几分钟的阅读时间 ,您也可以收藏后,时间充足时再阅读- ->第一节讲了<Web服务基础介绍>,第二节讲了<Web服务测试工具> ...

  3. django常用命令行和一些笔记

    命令行 新建项目:django-admin startproject projectname 新建应用:python manage.py startapp appname(每次创建了新的app后,都需 ...

  4. Graylog-centos安装

    graylog安装 1.先决条件 yum install java-1.8.0-openjdk-headless.x86_64 -y #安装java软件包 yum install epel-relea ...

  5. 测试mybatis延迟加载错误与解决方法

    什么是延迟加载? 延迟加载又叫懒加载,也叫按需加载,也就是说先加载主信息,需要的时候,再去加载从信息. 需求: 查询订单信息,需要时再去查询用户信息 实现方式: 编写两个statement,其中一个s ...

  6. react native 从创建到部署

    source code: 开源库   rn源代码 native源代码 sourcecode tool: npm react-native  vscode  xocde.vscode ide+tools ...

  7. 014_matlab读取ecxel(直接导入)

    视频教程:https://v.qq.com/x/page/c3039b5htwx.html 资料下载:https://download.csdn.net/download/xiaoguoge11/12 ...

  8. 使用jenkins exporter 监控jenkins 构建任务

    jenkins 提供了rest api,我们可以基于rest api 暴露prometheus metrics,社区已经有了好多 开源的实现了,使用起来也比较方便,以下集成几个进行简单的测试 环境准备 ...

  9. Mac Sublime Text使用python3运行脚本(command+b)

    默认安装好sublime, 使用快捷键command+b的时候, 会使用python2版本运行 下面就改为用python3运行, 也可以python2运行 一. 新建文件 Sublime Text - ...

  10. 重装了服务器,用的是centos/php微信小程序版,centos 命令大全

    centos 命令大全 1.关机 (系统的关机.重启以及登出 ) 的命令 shutdown -h now 关闭系统(1) init 0 关闭系统(2) telinit 0 关闭系统(3) shutdo ...