接上篇,一键转化将接口测试平台测试用例转化成Jmeter压测脚本思路,这里我首先在java 上面做了一个简单的实验,看看 转化的中间遇到的问题,这里呢,我只是给了一个简单的demo 版本,后续结合项目的实际的实用,还是靠各位,贴合我们的实际的项目去制定适合本公司转化的脚本。具体的业务还是要实际的分析的。首先看下我的思路
1.点击一键生成
2.后台拿到测试环境id,测试用例id
3.后台去交验是否存在测试环境,测试用例id。
4.后台开始根据用例请求参数,组织Jmeter脚本
5.产生的脚本代码保存到本地的目录。并且将脚本的项目的信息存储到数据库
6.前台选择执行的测试计划,远程执行的服务器,
7.根据前端的配置的测试计划,获取对应的本地的脚本,复制到远程的服务器上
8.通过ssh链接直接操作远程服务器开启操作。
9.查看远程测试报告的数据,压测过程中监控
10.测试完毕,收集汇总,如有历史记录,对比历史记录的性能差别
上述呢,是我在整个转化的地方,想到的逻辑的,大概在上面的流程上,那么基于大概的上面的设计,我们去设计我们的代码。
我这里的设计,是增加了一个针对存储测试脚本的一个数据表,这里存储到对应的接口的压测脚本的详细信息,包括执行的服务器的信息。具体的数据库的设计如下。
import lombok.Data;import javax.persistence.Entity;import javax.persistence.GeneratedValue;import javax.persistence.GenerationType;import javax.persistence.Id;import java.util.Date;/** * @Description 存储压测文件的 * @create 2020-04-27 21:04 */@Data@Entitypublic class PerTestjmx {
//存储转化后的压测文件 @Id @GeneratedValue(strategy = GenerationType.IDENTITY) private Integer id; private Integer project; private Integer adduser; private String serverip; private String serverpassword; private String name; private String runcount; private String loopcount; private String jmxpath; private Date addtime; private Date updatime = this.addtime; private Integer updateuser;}
设计完,我们的数据库,我们去访问底层数据模型的接口。这里我们先暂时的只是简单的实现,并没有拓展其他的方法。因为原生的访问模型就满足了。
package pan.repository;import org.springframework.data.jp