Coder Social home page Coder Social logo

http-test-api's People

Contributors

yu132 avatar

Watchers

 avatar

http-test-api's Issues

完成多重参数分级

参数分级

参数分级是很重要的一项工作,其功能需要在多重级别下,进行参数的级别合并,并且在最后一层进行参数装载

参数合并

参数的合并十分重要,首先参数需要进行保护性复制,因为对于每一个具体的test是无法判别执行顺序先后的,因此结果是肯定不能返回到最上面一层

参数导入

参数导入也比较的不简单,先列一下想的出来的导入方法

  • 文件导入 —— 文件必须以XML配置、yaml、json或是配置文件的方式进行导入
  • SQL结果 —— 得到的值是通过SQL从数据库中取出来的值
  • 系统变量 —— 从系统变量中获取值
  • 直接配置 —— 直接在最大的配置文件中配置
  • 程序执行结果 —— 这个程序拟定是可以执行脚本语言(js、python)或是java语言的,我们需要将某段程序的结果(返回值)导入到这个参数里面
  • 通过其他参数new一个新的对象
  • 简单的四则运算结果

参数级别

参数的级别也比较的多,需要先列出来记录一下

  • 文件级别 —— 适用于整个文件内,在XML配置文件中以<global-variables></global-variables>的形式出现,为什么不用<variables>是因为这个标签是定义引入变量的,需要被引用的变量 在或<test>中使用<import-variables>引入

  • <tests></tests>级别 —— 适用于这个标签内的所有test

  • <test></test>级别 —— 适用于这个标签内,因为这个标签是测试中最小的一级了,所以没有更小的了

参数控制

参数在最终在替换的时候是需要在一个map里面的,所以需要一层一层的向下导入参数,而且还需要以保护性复制的形式

导入参数文件格式

之后写这部分的时候再定,可以先使用之前写的yaml格式先进行解析,先以接口的形式抽象出来,最后在添加多的方法

考虑需要多次测试的情况

需求

对一个API进行多次测试,但是测试时间不能太集中

实现

需要写一个调度器,使得对一个API的测试不能过于集中,或者去看下有没有现成的实现

要做的东西

目标

计划是做一个泛用性广的Http Test API的软件,能够用来测试各种HTTP API是否有效,是否能够正常工作,为了达成这个目标,就不能只像之前一样仅仅测试json API一样

测试数据源

测试数据源类别

测试的数据源定为三类

  • HTTP服务器(测试核心)
  • 数据库(参数源)
  • 程序结果(参数源)

有了这三类就可以完成基本的操作

目标

该议题的目标即为完成数据源部分

期望

数据源部分正常的运行

附:

程序结果部分期望能够使用java,js和python三种语言,实在完成不了可以放弃部分,但是至少要完成一个语言

动态生成entity类

使用entity的原因

类似于ORM对象映射框架一样,这个地方也需要去进行对象映射,这样操作起来比一个仅仅是用配置文件,会方便很多,不然就很难操作

目标

正常的运行

使用技术

Javassist

输出

输出的考虑

可能需要分组,便于查看一个组件的情况

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.