因为这套自己搭建的接口自动化测试框架,成功入职阿里,拿下19k(代码片段)

百里测试开发 百里测试开发     2023-04-01     325

关键词:

1. 安装依赖模块

在开始编写测试框架前,需要先安装以下依赖模块:

  • requests:用于发送HTTP请求;
  • pytest:用于执行测试用例;
  • allure-pytest:用于生成测试报告。

我们可以通过命令行安装:

pip install requests pytest allure-pytestsh

2. 目录结构

在开始编写测试用例前,我们需要先建立目录结构。这里我们建立如下目录结构:

- api
  |- __init__.py
  |- user.py
- tests
  |- __init__.py
  |- test_user.py
- report

其中,api目录用于存放封装了API请求的模块,tests目录用于存放测试用例,report目录用于存放测试报告。

3. API请求封装

api目录下新建一个user.py文件,用于封装用户相关的API请求。这里我们假设接口文档中有以下三个接口:

  • 获取用户列表:GET /api/users
  • 创建用户:POST /api/users
  • 删除用户:DELETE /api/users/user_id
import requests

class UserAPI:
    def __init__(self, base_url):
        self.base_url = base_url

    def get_user_list(self):
        url = f"self.base_url/api/users"
        resp = requests.get(url)
        return resp.json()

    def create_user(self, data):
        url = f"self.base_url/api/users"
        resp = requests.post(url, json=data)
        return resp.json()

    def delete_user(self, user_id):
        url = f"self.base_url/api/users/user_id"
        resp = requests.delete(url)
        return resp.json()python

4. 测试用例编写

tests目录下新建一个test_user.py文件,用于编写测试用例。这里我们使用pytest框架来执行测试用例,对于每个测试用例,我们需要实例化UserAPI类,然后调用对应的API方法进行测试。

import pytest
from api.user import UserAPI

@pytest.fixture(scope="module")
def api():
    return UserAPI(base_url="http://localhost:8080")

def test_get_user_list(api):
    resp = api.get_user_list()
    assert(resp["code"] == 200)
    assert(len(resp["data"]) > 0)

def test_create_user(api):
    data = "name": "test user", "email": "test@example.com"
    resp = api.create_user(data)
    assert(resp["code"] == 200)
    assert(resp["data"]["id"] is not None)

def test_delete_user(api):
    data = "name": "test user 2", "email": "test2@example.com"
    resp = api.create_user(data)
    assert(resp["code"] == 200)
    user_id = resp["data"]["id"]

    resp = api.delete_user(user_id)
    assert(resp["code"] == 200)python

5. 执行测试用例

在命令行中执行以下命令,即可执行测试用例:

pytest --alluredir=reportsh

其中,--alluredir参数指定了测试报告的存储路径。

6. 查看测试报告

执行完测试用例后,可以使用以下命令来生成测试报告:

allure serve reportsh

这里我们使用了allure命令来启动一个本地的Web服务器,然后在浏览器中打开http://localhost:port即可查看测试报告。

7. 结语

以上就是一个基于Python语言的接口自动化测试框架,并使用Allure输出测试报告的整个流程。当然,这只是一个简单的示例,实际项目中可能需要考虑更多的因素,比如接口响应时间、并发测试等。

api接口自动化测试框架搭建(二十七)-如何修改框架为通用性框架或适合自己的项目?

...改框架为通用性框架或适合自己的项目?1本文目的2设计自动化用例3修改全局变量文件config.py4修改token和cookie的获取方法get_token.py5修改保持会话的登录内容test_excel.py1本文目的主要是我们拿到框架后如何进行修改适合自己的框架... 查看详情

练习搭建接口自动化测试框架详细过程

 练习搭建接口自动化测试框架(文中所用接口信息、框架思路来自光荣之路培训学校,有意者请搜索光荣之路公众号咨询详细内容)在设计接口测试框架前,先来弄清楚接口测试怎么进行的,请求和响应都是什么样的,清楚... 查看详情

junit搭建自动化测试框架

这里主要使用Junit搭建一个分层的自动化测试框架。这就是一个有业务逻辑的单元测试的思想。灵活性很大,对测试人员的代码能力要求较高。以登录QQ邮箱为例,数据源使用了集合接口Map。借鉴了MVC的思想,也分为三层处理:... 查看详情

api接口自动化测试框架搭建-接口调试工具postman安装配置及使用

(七)-接口调试工具postman安装配置及使用1下载安装2工具介绍3接口调试注意:这里只是简单说下postman的安装和使用,因为我们后续拿它主要是用于接口的简单调试。1下载安装官网:https://www.postman.com/下载:https://www.postman.com/do... 查看详情

接口测试学习(代码片段)

...开始的http接口测试需求,准备花时间搭建了一个http接口自动化测试框架用于测试后期回归测试,搭建思路框架采用robot和python实现,因为robot中的复杂逻辑实现起来比较繁琐,故选择用python实现, 查看详情

接口自动化测试框架搭建–java+testng测试restfulservice

接口自动化测试 –Java+TestNG测试RestfulWebService关键词:基于Rest的Web服务,接口自动化测试,数据驱动测试,测试RestfulWebService,数据分离,Java+Maven+TestNG 本文主要介绍如何用Java针对Restfulwebservice做接口自动化测试(数据驱... 查看详情

api接口自动化测试框架搭建-测试对象-学生管理系统搭建

...行接口测试练习;此系统只是用于帮助大家快速搭建接口自动化测 查看详情

接口自动化测试框架搭建

...件目录下执行命令pipinstall-r这个文件,把要写的库的版本自动化的安装如图  查看详情

如何搭建一个自己的接口自动化测试平台

0、实现方式后端:java前端:vue+element-uimock:mock-server其它:redis感谢大家的莅临,小编在文章末尾为大家准备了一些福利,需要的可以获取哦。1、数据构建​我们在测试过程中发现测试数据的构建非常... 查看详情

接口自动化框架(java)--5.通过testng.xml生成extentreport测试报告(代码片段)

 这套框架的报告是自己封装的 由于之前已经通过Extentreport插件实现了Testng的IReport接口,所以在testng.xml中使用listener标签并指向实现IReport接口的那个类就可以替换原始的testngreporttestng配置如下:单suite,单testtestname指向你... 查看详情

eclipse+testng搭建接口自动化测试框架

一、环境安装1、前提安装好jdk配置好Java环境变量安装Eclips这些网上都有,就不再详细介绍。资源分享链接:http://pan.baidu.com/s/1v9Fw62、安装TestNG插件在线安装由于网速原因,速度较慢。下面是离线安装方式。(1)解压eclipse-testng... 查看详情

api接口自动化测试框架搭建-总体需求

...5学习周期6学习建议7内容直达8反馈联系1实现目的API接口自动化测试,主要针对http接口协议;便于回归测试;线上或线下巡检测试,结合持续集成,及时发现运行环境存在的问题;提升个人自动化测试技术... 查看详情

python3+requests搭建接口自动化测试框架(代码片段)

目录一、接口自动化的意义(为什么做这个框架)二、准备工作三、框架流程及逻辑四、各模块介绍五、具体使用一、接口自动化的意义(为什么做这个框架)      新版本上线时之前版本的功能需要进行回归... 查看详情

接口自动化--概述

最近接触了接口自动化,经过大约一个月的时间,利用工作之余,借助公司的项目,搭建了接口自动化框架(此框架是要实现脚本与数据的完全分离)。整个过程中,最重要的就是实现思路,思路有了,实现起来还是不困难的。... 查看详情

api接口自动化测试框架搭建(二十六)-框架readme.md设计(代码片段)

(二十六)-框架README.md设计1README作用2如何写README3框架结构完善4完整的README文档1README作用声明版权相关问题;描述框架代码的作用;告诉读者如何使用这个框架;框架的基本操作过程等;写框架的时候建议一定要有个README。2... 查看详情

api接口自动化测试框架搭建-python依赖环境安装

Python依赖环境安装1依赖包及版本2依赖包安装方法2.1方法一:pip直接装2.2方法二:requirements.txt安装3目前项目结构这里单独把Python依赖环境拿出来说,主要是为了:帮助大家以后在项目开发中了解如何安装python依赖,包括包的批... 查看详情

api接口自动化测试框架搭建-接口抓包工具fiddler安装配置及使用(代码片段)

...,详细使用请网上搜索。主要目的是告诉大家在搭建接口自动化测试框架过程中可能要用的一些知识和工具。1下载安装下载:链接:https://pan.baidu.com/s/1KNZSeBQhVyK75pFsF5gQ8A提取码:an0r加压后直接打开Fiddler 查看详情

api接口自动化测试框架搭建(十九)-日志模块封装(logging模块)(代码片段)

(十九)-日志模块封装(logging模块)1测试目的2测试需求3需求分析4详细设计4.1新建日志模块脚本4.2日志脚本封装5完整日志源码6目前框架结构1测试目的记录测试过程重要的测试数据,输出到log日志,便于问题追踪。2测试需求... 查看详情