首页 > 其他分享 >接口自动化测试复习巩固第二天,管理员后端验证和接口抓包+requests实现

接口自动化测试复习巩固第二天,管理员后端验证和接口抓包+requests实现

时间:2023-12-25 14:47:55浏览次数:28  
标签:case self excel 测试数据 json 接口 requests os 抓包

接口自动化测试第二天,需要用到的第三方库有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()

标签:case,self,excel,测试数据,json,接口,requests,os,抓包
From: https://www.cnblogs.com/xuhaotest/p/17926040.html

相关文章

  • 网络安全有哪些常用的抓包工具?
    对于从事网络安全领域的技术人员来说,抓包的目的就是分析网络报文、定位网络接口问题、分析应用数据接口、学习网络协议,使用抓包工具可以直观的分析出网络数据了。那有哪些常用的抓包工具呢?请看下文:|Fiddler此工具经典且强大,它提供电脑、移动端的抓包,包括http协议和ht......
  • 解决网络协议服务器问题的关键:定位能力与抓包技术
    本文分享自华为云社区《提升网络协议服务器的定位能力》,作者:张俭。近期,我再次涉足于协议服务器相关的工作领域,致力于定位并解决各种问题。简单总结一些心得给大家。如果想要定位出协议服务器的问题,那么这些能力可能至关重要。注:我这里比较偏向协议本身的问题,不涉及一些通用的网......
  • EKP qhky 流程启接口addReview 支持明细表地址本传递多值
     问题描述: 流程启动接口(addReview),给第一行多人员地址本字段 传多个部门,后台代码解析不成功     /** * *20230703定制处理附件列表问题sjx * ***/ for(inti=0;i<attForms.size();i++){ S......
  • Remove TraceParent header from HttpClient requests
    ASP.NETCorecreatesanActivitythatrepresentstherequestbydefault.ThisiswhattellsHttpClienttosendanoutgoingrequestidheader.Youcandisableitinacoupleofways:Bysettingthecurrentactivitytonullbeforemakingtherequest(Activi......
  • 17 常见接口限流的技术方案
    为了防止用户异常调用接口,需要进行一些限流操作。常见的接口限流操作有如下方案。方案分为2种大的方面,分别是技术方面的和业务方面的。技术方案1,就是判断是不是重复的接口,然后限制这个接口调用的频率。例如京东的评价接口,同一个用户调用的最短时间定的是3秒钟。技术方案2,就是在应用......
  • 一天个测试名词---接口测试
    一、什么是接口测试我们要想知道接口测试怎么做,首先要明白接口测试是什么?一般像系统内的组件接口数据交互测试、不同系统与系统之间的接口数据交互测试等,我们都可以称之为接口测试!那么接口测试是怎么来测试接口的呢?接口测试就是通过接口的不同情况下的输入和与之对用的输出之间......
  • JVM基础篇(四)-JVM结构-本地方法接口
    本地方法本地方法:NativeMethod"AnativemethodisaJavamethodwhoseimplementationisprovidedbynon-javacode."(本地方法是一个非Java的方法,它的具体实现是非Java代码的实现)一个NativeMethod是一个Java调用非Java代码的接囗。该方法的实现由非Java语言实现,这个特征并非J......
  • 视频监控LiteCVR可视化云平台接口支持获取视频帧率与编码格式
    2023年,AI视频监控技术迎来了显著的发展和成果,为安全领域和其他行业带来更智能、高效的解决方案,其中边缘AI发展也十分显著。边缘计算中AI的广泛应用将使设备能够在本地处理数据,而不必依赖云服务器,从而实现更快的响应时间和更强的隐私保护。 LiteCVR可支持设备通过国标GB28181、......
  • Spring Boot 核心接口之 Envirnoment
    SpringBoot核心接口之Envirnoment转载自:https://zhuanlan.zhihu.com/p/357050965?utm_id=0SrpingBoot中我们使用EnvironmentAware注入Environment对象后,可以在Environment中获得系统参数,命令行采参数,文件配置等信息。Environment是如何存储,管理这些值的呢?变量......
  • C语言全局变量的extern+typedef函数指针+uvm_queue/pool/config_db/resource_db/barri
    C语言全局变量的extern全局变量在不同的文件引用,需要加上extern,才能引用到。如果没有extern关键词,则认为是一个定义,而不是引用,引发同名冲突。函数也是一样。要在本文件引用其它文件的函数,需要增补extern关键字。而其它文件,声明和定义过该函数。typedef函数指针https://zhuan......