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,当然如果要加,也简单。
以下是我的代码:
# -*- 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自动化接口测试的更多相关文章
- python 自动化接口测试(6)
迎接新的一波更新吧,这次是基于图灵机器人的一个api接口的测试. 这是api的接口:http://www.tuling123.com/openapi/api 我们试着通过浏览器直接访问看下 这是反馈的 ...
- Python+reuqests自动化接口测试
1.最近自己在摸索Python+reuqests自动化接口测试,要实现某个功能,首先自己得有清晰的逻辑思路!这样效率才会很快! 思路--1.通过python读取Excel中的接口用例,2.通过pyth ...
- python+requests+unittest执行自动化接口测试
1.安装requests.xlrd.json.unittest库 <1>pip 命令安装: pip install requestspip install xlrdpip install ...
- Selenium2+python自动化39-关于面试的题
前言 最近看到群里有小伙伴贴出一组面试题,最近又是跳槽黄金季节,小编忍不住抽出一点时间总结了下, 回答不妥的地方欢迎各位高手拍砖指点. 一.selenium中如何判断元素是否存在? 首先selen ...
- 薅羊毛? 月入10万? | 这是自动化测试老司机的特长--Python自动化带你薅视频红包,一个都不放过!
一.目标场景 如今短视频横行的时代,以某短视频为首的,背后依靠着强大的资金后盾,疯狂地对平台用户进行红包轰炸. 与传统的红包不一样,视频红包包含位置的不确定性.大小不确定性.元素 ID 的不确定性 ...
- 【软件测试 Python自动化】全网最全大厂面试题,看完以后你就是面试官!
前言 为了让大家更好的理解和学习投入到Python自动化来找到一份好的资料也是学习过程中,非常重要的一个点.你的检索能力越强,你就会越容易找到最合适你的资料. 有需要的小伙伴可以复制群号 313782 ...
- 测开之Python自动化全栈工程师+性能专项(送思维导图)
测开之Python自动化全栈工程师+性能专项 功能测试基础 接口测试基础接口的通信原理与本质cookie.session.token详解接口测试的意义与测试方法接口测试用例的设计 app测试 app流 ...
- flow.ci + Github + Slack 一步步搭建 Python 自动化持续集成
理想的程序员必须懒惰,永远追随自动化法则.Automating shapes smarter future. 在一个 Python 项目的开发过程中可能会做的事情:编译.手动或自动化测试.部署环境配置 ...
- Selenium2+python自动化23-富文本(自动发帖)
前言 富文本编辑框是做web自动化最常见的场景,有很多小伙伴遇到了不知道无从下手,本篇以博客园的编辑器为例,解决如何定位富文本,输入文本内容 一.加载配置 1.打开博客园写随笔,首先需要登录,这里为了 ...
随机推荐
- 关于 " i=i++"是否等价于"i=i+1"的问题探讨 -Java版/C版
如题 (总结要点) 假设i=1 ,那么 i=i++ 的结果也就是2, 对吗? 不对,是1. -总结如下: 测试过程如下: 1.java版 public class Test { public stat ...
- FileReader 事件用法
FileReader对象采用异步方式读取文件,在不同的读取阶段会触发不同的事件. 事件列表: (1).abort事件:读取中断或调用reader.abort()方法时触发. (2).error事件:读 ...
- G6 学习资料
G6 学习资料 网址 G6 1.x API 文档 http://antvis.github.io/g6/doc/index.html 官方demo列表 https://github.com/antvi ...
- AlwaysInstallElevated提权
前言:自己在学习3gstudent的AlwaysInstallElevated提权的文章中,他说过由于Metasploit的某些原因会导致权限不够,所以自己就尝试去复现其他的两种方法了,详细的文章参考 ...
- Dockerfile介绍、Docker制作jdk镜像
Dockerfile介绍.Docker制作jdk镜像 目标 1.Dockerfile简介 2.Docker制作jdk镜像 Dockerfile简介 dockerfile 是一个文本格式的配置文件, 用 ...
- CCF 201803-3 URL映射
CCF 201803-3 URL映射 试题编号: 201803-3 试题名称: URL映射 时间限制: 1.0s 内存限制: 256.0MB 问题描述: 问题描述 URL 映射是诸如 Django. ...
- nginx if配置说明
格式:if (条件判断) { 具体的rewrite规则 } 条件举例: 条件判断语句由Nginx内置变量.逻辑判断符号和目标字符串三部分组成. 其中,内置变量是Nginx固定的非自定义的变量,如,$r ...
- 第09组 Alpha冲刺(3/6)
队名:观光队 组长博客 作业博客 组员实践情况 王耀鑫 过去两天完成了哪些任务 文字/口头描述 完成服务器连接数据库部分代码 展示GitHub当日代码/文档签入记录 接下来的计划 服务器网络请求,vu ...
- JVM和ClassLoader
JVM和ClassLoader 2019-11-08 目录 1 JVM架构整体架构 1.1 类加载器子系统 1.1.1 加载 1.1.2 链接 1.1.3 初始化 1.2 运行时数据区(Runtime ...
- ModuleNotFoundError: No module named 'rest_framework_swagger'
pip3.6 install django-rest-swagger