接口自动化测试复习巩固第二天,管理员后端验证和接口抓包+requests实现
接口自动化测试第二天,需要用到的第三方库有os,openpyxl,json,pytest,requests
首选我们今天的目标是写出一个测试登录用例的脚本,这里我用的是分层设计,整个框架暂时被分为工具层,测试数据层,用例层。
工具层:这里我会先放目前需要用到的脚本
测试数据层:用例执行时需要的测试数据,我会以excel格式存放在这里
用例层:这里放的是自己编写的自动化测试脚本
首先先确定自己需要的工具,目前为止,我需要的工具有2个,一个是读取excel测试数据的工具,一个是识别整个框架的文件位置工具。这里开始写
1.读取excel数据的工具
from openpyxl import load_workbook
class MyExcel:
def __init__(self,excelpath,sheet_name):
#打开本地文件
self.wb = load_workbook(excelpath)
self.sh = self.wb[sheet_name]
def select_sheet(self,sheet_name):
self.sh = self.wb[sheet_name]
def read_all_data(self):
all_datas = list(self.sh.values)
titles = all_datas[0]
case_list = []
for row_data in all_datas[1:]:
new_dict = dict(zip(titles,row_data))
print(new_dict)
case_list.append(new_dict)
return case_list
2.识别文件位置的工具
import os
#项目路径
basedir = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
#测试数据excel目录
testdata_dir = os.path.join(basedir,"testdata")
两个工具已经写好了,接下来是准备测试数据
3.测试数据的准备

#注意,这里的req_data数据用json格式来写
4.自动化测试脚本
import os
import json
import pytest
import requests
from tools.handle_path import testdata_dir
from tools.handle_excel import MyExcel
#读取测试数据 - excel中一行一个用例数据
me = MyExcel(os.path.join(testdata_dir,"cases.xlsx"),sheet_name="登录")
all_datas = me.read_all_data()
class TestAdminLogin:
@pytest.mark.parametrize("case",all_datas)
def test_login(self,case):
resp = requests.request(case.get("method"),case.get("url"),
json=json.loads(case.get("req_data")))
print(resp.status_code)
print(resp.text)
#断言
assert case.get("expected") in resp.text
注意:因为在excel中的req_data是用json格式写的,所以在python中要将它转换为字典格式,需要导入一个第三方库json来进行转换
json.loads()
接口自动化测试复习巩固第二天,管理员后端验证和接口抓包+requests实现的更多相关文章
- 第二章、http协议及嗅探抓包--http协议详解
初识http协议 hypertext trandfer protocol 超文本传输协议,是一种分布式,合作式,多媒体信息系统服务,面向应用层的协议.使用最广泛的应用层协议,基于传输层的TCP协 ...
- Lego-美团点评接口自动化测试实践
Lego-美团点评接口自动化测试实践 2018-02-07 转自:Lego-美团点评接口自动化测试实践 目录 一.概述 1.1 接口自动化概述 1.2 提高ROI 针对“减少投入成本” ...
- Selenium自动化测试,接口自动化测试开发,性能测试从入门到精通
Selenium自动化测试,接口自动化测试开发,性能测试从入门到精通Selenium接口性能自动化测试基础部分:分层自动化思想Slenium介绍Selenium1.0/2.0/3.0Slenium R ...
- (转)接口自动化测试 – Java+TestNG 测试 Restful Web Service
本文主要介绍如何用Java针对Restful web service 做接口自动化测试(数据驱动),相比UI自动化,接口自动化稳定性可靠性高,实施难易程度低,做自动化性价比高.所用到的工具或类库有 T ...
- 零成本实现接口自动化测试 – Java+TestNG 测试Restful service
接口自动化测试 – Java+TestNG 测试 Restful Web Service 关键词:基于Rest的Web服务,接口自动化测试,数据驱动测试,测试Restful Web Service, ...
- 基于Jmeter的接口自动化测试实践
在去年实施了一年的三端(PC.无线M站.无线APP[Android.IOS])后,今年7月份开始,我们开始进行接口自动化的实施,目前已完成了整个框架的搭建以及接口的持续测试集成.今天做个简单的分享. ...
- 接口自动化测试框架搭建 – Java+TestNG 测试Restful service
接口自动化测试 – Java+TestNG 测试 Restful Web Service 关键词:基于Rest的Web服务,接口自动化测试,数据驱动测试,测试Restful Web Service, ...
- Django 接口自动化测试平台
本项目工程 github 地址:https://github.com/juno3550/InterfaceAutoTestPlatform 0. 引言 1. 登录功能 2. 项目 3. 模块 4. 测 ...
- 前端接口自动化测试工具-DOClever使用介绍(转载)
DOClever 不仅集成了文档编写,团队协作,接口运行,mock 数据等功能,还有两个功能是让我们团队大大的提高工作效率的.一个是接口的自动化生成,可以根据接口数据自动生成文档信息,还有一个便是本文 ...
- Java接口自动化测试实战笔记
综述 代码管理工具Git 测试框架 TestNG 测试报告 Mock 接口框架 HTTP 协议接口 测试框架 HttpClient SprintBoot 自动化测试开发 数据持久层框架 MyBatis ...
随机推荐
- C++ Qt开发:ToolBar与MenuBar菜单组件
Qt 是一个跨平台C++图形界面开发库,利用Qt可以快速开发跨平台窗体应用程序,在Qt中我们可以通过拖拽的方式将不同组件放到指定的位置,实现图形化开发极大的方便了开发效率,本章将重点介绍ToolBar ...
- Aop限流实现解决方案
01.限流 在业务场景中,为了限制某些业务的并发,造成接口的压力,需要增加限流功能. 02.限流的成熟解决方案 guava (漏斗算法 + 令牌算法) (单机限流) redis + lua + ip ...
- 华企盾DSC手机app注册保存成功登录时一直转圈
可能是花生壳等映射软件不稳定,重启一下花生壳等工具
- 数字孪生和GIS融合后能够为城市交通带来哪些便利?
数字孪生和GIS的融合对于城市交通领域带来了诸多便利,从智能交通管理到出行体验的提升,为城市交通带来了全新的发展机遇. 首先,数字孪生技术与GIS的结合可以实现智能交通管理.通过GIS建立城市交通网络 ...
- 前端异步编程 —— Promise对象
在前端编程中,处理一些简短.快速的操作,在主线程中就可以完成. 但是,在处理一些耗时比较长以至于比较明显的事情,比如读取一个大文件或者发出一个网络请求,就需要异步编程来实现,以避免只用主线程时造成页面 ...
- MinIO客户端之head
MinIO提供了一个命令行程序mc用于协助用户完成日常的维护.管理类工作. 官方资料 mc head 查看对象的前N行内容,N默认为10,命令如下: ./mc head local1/bkt1/doc ...
- ubuntu frame 个人开发心得
引言 有一次我在树莓派上安装 Ubuntu Core 我给创新创业项目开发一个可视化 gui 看板,用于展示数据. 然后我就找到了我需要的工具 Ubuntu Frame 初次尝试使用 Ubuntu F ...
- 神经网络基础篇:详解导数(Derivatives)
导数 一个函数\(f(a)=3a\),它是一条直线.下面来简单理解下导数.让 看看函数中几个点,假定\(a=2\),那么\(f(a)\)是\(a\)的3倍等于6,也就是说如果\(a=2\),那么函数\ ...
- 一图看懂CodeArts Deploy 5大特性,带你玩转部署服务
摘要:华为云自动化部署服务,助力企业安全.高效生产! 华为云持续部署服务CodeArts Deploy,通过模块化自由编排部署流程,实现软件的自动化部署,基于其易入门.功能全.集成度高.自动化.可靠的 ...
- Volcano 监控设计解读,一看就懂
摘要:Volcano 方便AI,大数据,基因,渲染等诸多行业通用计算框架介入,提供高性能任务调度引擎,高性能异构芯片管理,高性能任务运行管理等能力. Volcano 是一个 Kubernetes 云原 ...