Giter Club home page Giter Club logo

alex-backend's Introduction

开源一款接口自动化平台,支持自动生成测试用例、MOCK等功能。平台其实已经写好蛮久了,之前一直在coding托管,最近迁移至github公共仓库

1.地址

演示地址:http://42.194.187.183:7778/#/ youke/admini0 开源地址:https://github.com/Biexei Testerhome:https://testerhome.com/topics/35203

2.运行环境

基于vue+elemui+java+mysql jdk1.8、nodejs12.19.0、mysql8、python3.6.5、redis3.2.100

3.功能简介

  1. 用例支持har/json/yaml/excel/csv导入
  2. 支持根据等价类,边界值,正交法,笛卡尔积自动生成测试用例,且支持动态数据,数据来源支持数据库
  3. 测试套件支持并行,大幅提升测试效率,生成的测试报告美观,报表数据丰富
  4. 定时任务支持动态启停,配置
  5. 支持在线配置代理
  6. 动态mock服务,无需启停服务,且支持请求转发
  7. 丰富的断言策略,目前已支持jsonpath,xpath,header,code,响应耗时
  8. 支持接口间数据依赖,方便测试流程
  9. 数据中心支持接口依赖,sql依赖,反射方法。解决数据依赖,数据加密的痛点
  10. 稳定性测试

4.主要功能

4.1 测试数据

目前支持了四种测试数据的来源,第一种是基于jsonpath从接口返回值提取数据,第二种是通过SQL查询语句,第三种是基于内置的反射方法,第四种是基于固定值。采取${xxx}语法表达式提取

  • 基于jsonpath从接口返回值提取数据
  • 通过SQL查询语句
  • 基于内置的反射方法
  • 基于固定值

4.2 自动生成测试用例

自定义了一套生成用例的约束,根据约束填写模板,将会产生标准的测试用例文件,而后再导入至平台即可

  • 以自动生成用户注册接口测试用例为例。支持生成正交测试用例,也可以生成全量的笛卡尔积测试用例。同时为了保证用例的可复用性,支持生成动态测试数据(如用户注册生成的用户名具有唯一性,这就需要保证每次生成的用户名都是唯一的)
    • 生成的用例如下

4.3 用例执行

支持串行、并行,两种策略可自行保证用例的执行顺序or高效运行。 以及还算丰富的测试报告

4.4 Mock

mock基于java的mock-server。目前支持多节点(可方便不同人员调试相同接口地址),以及丰富的命中策略

4.4 常见问题

一. 如何保证用例之间的数据关联关系?


目前可采取两种方式解决用例间的数据依赖问题 1.数据中心-接口依赖创建

  • 举个栗子,添加用户需要用到登录成功返回的token字段
  • 第一步先创建一个登录成功的接口
  • 第二步在数据中心-接口依赖创建选择该接口,并提取token字段
  • 第三步通过${token}引用


2.配置前置用例

  • 第一步先创建一个登录成功的接口,并为其配置响应数据缓存
  • 第二步为需要关联的用例选择前置用例
  • 第三步通过#{token}引用

存在两种方式主要是为了减少重复请求次数,以及确保数据的一致性,如需要前置接口返回的多个数据,通过第一种方式则会在需要数据的时候就请求一次,而通过第二种方式则无论需要前置接口的多少个请求数据,都只请求一次

二. 数据加密如何处理?


通过反射方法的形式,可自定义方法处理加密(统一处理类:org.alex.platform.common.InvokeCenter),目前仅提供md5哈希



三. 如从TEST环境切换到STG环境,是否需要编写多套用例?

不需要。系统在创建项目时已强制为每个环境配置host和domain,目前支持5种环境。即使在用例中引用了数据库也无需担心环境问题 在执行测试套件时可指定运行环境



四. mock是否支持请求转发?

支持。举个例子,第一步:配置请求转发 第二步:试验。可以看到/user/list接口已经转发至真实接口


alex-backend's People

Contributors

biexei avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

alex-backend's Issues

测试套件用例建议

1.测试套件内的用例不能编辑,只能导入。导致同一个接口需要添加添加多条接口用例,比如不同账号的登陆需要新建多次。
建议测试套件接口导入后作为全新的接口,可以被编辑,可以不被接口用例菜单搜索到。
2.接口用例的菜单建议改名为接口定义,导入方式增加postman的支持
3.接口断言新增下文本判断
4.使用bug InterfaceSuiteLogMapper.xml文件 selectSuiteLogProjectModule执行sql order by project_id, module_id, status -》 order by project_id, module_id,暂不知道status 做什么用

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.