首页 > 其他分享 >接口自动化定义BaseRquest类及其继承

接口自动化定义BaseRquest类及其继承

时间:2023-11-03 14:56:08浏览次数:33  
标签:__ cookies BaseRquest url self 接口 json 自动化 logger

import requests

from utils.logger import get_logger

logger = get_logger(__file__)


class BaseRequest:
    def __init__(self):
        self.url = None
        self.method = None

    def request(self, **kwargs):
        """
        调用request发送http请求
        :param json: http请求入参为json
        :param params: http请求入参为form
        :param headers: http请求头
        :return: requests响应
        """
        req_json = kwargs.get('json', None)
        req_params = kwargs.get('params', None)
        headers = kwargs.get('headers', None)
        cookies = kwargs.get('cookies', None)
        logger.info(f'【Request URL】 {self.url}')
        if req_json:
            logger.info(f'<------ Request ------> {req_json}')
            res = requests.request(url=self.url, method=self.method, json=req_json, headers=headers, cookies=cookies)
        elif req_params:
            logger.info(f'<------ Request ------> {req_params}')
            res = requests.request(url=self.url, method=self.method, params=req_params, headers=headers,
                                   cookies=cookies)
        else:
            res = requests.request(url=self.url, method=self.method, headers=headers, cookies=cookies)
        logger.info(f'【Response Code】 {res.status_code}')
        logger.info(f'======> Response <====== {res.text}')
        # logger.info(f'======> Headers <====== {res.headers}')

        return res
from config.settings import host
from interface.base_request import BaseRequest


class Login(BaseRequest):
    """
    登录接口
    """

    def __init__(self):
        super().__init__()
        self.url = f'{host}/Login'
        self.method = 'POST'
        # 请求头实例
        self.data = {
            "userAccount": "admin",
            "userPwd": "XXXX"
        }
if __name__ == '__main__':
l = Login()
cookies = l.request(json=l.data).cookies
 

 

标签:__,cookies,BaseRquest,url,self,接口,json,自动化,logger
From: https://www.cnblogs.com/wayne-tou/p/17807585.html

相关文章

  • 揭秘!自动化测试效率提升30%如何达成
    揭秘!自动化测试效率提升30%如何达成 一个全新的应用需要经过需求设计、应用开发、应用测试,及应用上架等几个阶段之后,才能到达用户手中。在应用测试中,测试的类型根据不同的开展时机,可以分为单元测试、集成测试、专项测试,以及上架测试。单元测试指对软件中的最小可测试单元进行验证,......
  • T端与R端详解:光纤收发器接口区分与作用
    在光纤通信系统中,了解光纤收发器的T端(Transmit,发送端)与R端(Receive,接收端)对于保障数据传输的正确性至关重要。本文将对这两个接口进行详细解析。T端与R端的定义T端(Transmit端):这是光纤收发器用来发送信号的接口。它将电信号转换为光信号,通过光纤线路传送给对端设备。R端(Receive端):此接......
  • 关于《Selenium3自动化测试实战--基于python语言》
    2016年1月,机缘巧合下我出版了《Selenium2自动化测试实战--基于python语言》这本书,当时写书的原因是,大部分讲Selenium的书并不讲编程语言和单元测试框,如果想在项目中使用Selenium,几乎离不开编程语言和单元测试框架,难道你只用SeleniumIDE去录制/回放脚本么?没想到受到许多测试人员的......
  • 关于《Web接口开发与自动化测试--基于Python语言》
    关于封面logo首先,你会被书封上面logo吸引,这么炫酷?双蛇杖?嗯,这是Requests的新logo。旧的logo是一只乌龟。 新logo是双蛇杖: 看到新logo我首先想到的是火爆全网页游“大天使之剑”,直到前两天一位网友告诉我这是双蛇杖,然后,我百度了一下双蛇杖的神话故事。然后,找到了......
  • 「UI 测试自动化selenium」汇总
    《selenium基础之java实现》seleniumRC环境配置菜鸟学自动化测试(一)----seleniumIDE菜鸟学自动化测试(二)----seleniumIDE功能扩展菜鸟学自动化测试(三)----selenium命令菜鸟学自动化测试(四)----selenium命令之验证页面元素菜鸟学自动化测试(五)-----selenium命令之定位页面元素菜......
  • IDEA插件推荐,代码写完直接调试、生成接口文档
    国产API调试工具Apipost推出IDEA插件,写完代码就可以调试接口并一键生成接口文档!而且还可以根据已有的方法帮助您快速生成url和params。ApipostHelper=API调试工具+API管理工具+API搜索工具。在商店中搜索或直接点击下方链接即可下载:https://plugins.jetbrains.com......
  • IDEA插件推荐,代码写完直接调试、生成接口文档
    国产API调试工具Apipost推出IDEA插件,写完代码就可以调试接口并一键生成接口文档!而且还可以根据已有的方法帮助您快速生成url和params。ApipostHelper=API调试工具+API管理工具+API搜索工具。在商店中搜索或直接点击下方链接即可下载:https://plugins.jetbrains.com/p......
  • 微软自动化测试工具palywright
    前言我们介绍许多e2e的自动化测试工具一类是基于Selenium的测试框架:robotframeworkgaugeSeleniumBaseseldom(我自己维护的)另一类是基于JS语言的测试工具:cypresspuppeteer前都本身就是基于Selenium的自动化测试工具,后者在测试人员这个圈子也是未能撼动Selenium的地位,我认为有两个......
  • playwright自动化项目搭建
    这是关于playwright系列介绍的最后一篇。搭建基于playwright的自动化项目。GitHub地址:https://github.com/defnngj/playwright-pro具备功能关键技术:pylaywright测试库pytest单元测试框架pytest-playwright插件非关键技术:pytest-html插件pytest-rerunfailures插件seldom测试框......
  • postman 接口测试的时候添加token
    postman接口测试的时候添加"请求头token"1-使用登入接口:获取token2-postman添加请求头......