回到顶部

阅读目录

aomaker 新一代接口自动化测试框架

aomake 重新定义企业级接口自动化测试的工程范式,文档即代码,定义即测试,让接口测试变得简单、高效、易维护。

官网:https://aomaker.cn/

github: https://github.com/ae86sen/aomaker

名称来源

AoMaker,即 Api object Maker,那什么是 API Object 呢?

API Object 是 Page Object 设计模式在接口测试上的一种延伸,顾名思义,这里是将各种基础接口进行了一层抽象封装,将其作为 object,通过不同的 API 对象调用来组装成不同的业务流场景。

Maker 其实就是框架本身提供各种辅助手段帮助快速的去编排 ao 和 case 。

主要特性

AOmaker 解决了传统接口自动化测试中的核心痛点,提供了全面的工程化解决方案

优雅的声明式接口定义

aomaker 采用声明式编程范式,基于attrs库实现强大的接口建模能力。通过简单的装饰器和类型注解,实现接口与业务逻辑的彻底解耦。

这种方式相比传统的硬编码方式,大幅降低了接口维护成本,提高了代码可读性和可维护性。

# instance_api.py
from attrs import define, field 
from aomaker.core.router import router
from aomaker.core.api_object import BaseAPIObject

@define(kw_only=True)  
@router.get("/api/{namespace}/instances")  
class GetInstancesAPI(BaseAPIObject[InstancesResponse]):  
    """获取实例列表"""  
  
    @define  
    class PathParams:  
        namespace: str = field()  
  
    @define  
    class QueryParams:  
        status: Optional[str] = field(default=None)  
        limit: Optional[int] = field(default=10)  
        offset: Optional[int] = field(default=0)  
  
    path_params: PathParams
    query_params: QueryParams = field(factory=QueryParams)
    
    # 响应数据结构自动映射到类型
    response: Optional[InstancesResponse] = field(default=InstancesResponse)

# 在测试中使用
def test_list_instances():
    # 明确的参数类型,IDE自动补全支持
    path_params = GetInstancesAPI.PathParams(namespace="default")
    query_params = GetInstancesAPI.QueryParams(status="running", limit=20)
    
    # 发送请求并自动映射响应
    res = GetInstancesAPI(
        path_params=path_params, 
        query_params=query_params
    ).send()
    
    # 通过类型提示访问响应数据
    assert res.response_model.total >= 0
    for instance in res.response_model.data:
        assert instance.status == "running"

高级特性

除了核心功能外,AOmaker 还提供了多种高级特性,满足企业级定制化测试需求

开始使用 aomaker

通过简单几步,开始使用 aomaker 彻底改变你的接口测试方式


^_^
请喝咖啡 ×

文章部分资料可能来源于网络,如有侵权请告知删除。谢谢!

前一篇: 夏季旅行准备清单(漂流专用)