当前位置: 首页 > news >正文

温州网页制作设计巢湖seo推广

温州网页制作设计,巢湖seo推广,网站开发主要语言,个人网站建设价格表测试用例接口开发实战 前言 在上一集,我们也大概完成了对Jmeter的二次开发的Demo版本的了解,我们接下来就要基于这个Demo来将Jmeter压测进行平台化。 那么这一集,我们讲一讲测试用例接口开发实战。 StressCaseController 我们的Controll…

测试用例接口开发实战

前言

在上一集,我们也大概完成了对Jmeter的二次开发的Demo版本的了解,我们接下来就要基于这个Demo来将Jmeter压测进行平台化。

那么这一集,我们讲一讲测试用例接口开发实战。

StressCaseController

我们的Controller其实也就那些增删改查的操作加上一个执行测试用例的API。

但是我们一开始先不讲执行测试用例的API,先放一放,先把增删改查的API完成。

find

@RequestMapping("/find")public JsonData findById(@RequestParam("projectId")Long projectId,@RequestParam("id")Long caseId){return JsonData.buildSuccess(stressCaseService.findById(projectId,caseId));}

del

@PostMapping("/del")public JsonData del(@RequestBody StressCaseDelReq req){return JsonData.buildSuccess(stressCaseService.delete(req.getId(),req.getProjectId()));}
save
@PostMapping("/save")public JsonData save(@RequestBody StressCaseSaveReq req){return JsonData.buildSuccess(stressCaseService.save(req));}
update
@PostMapping("/update")public JsonData update(@RequestBody StressCaseUpdateReq req){return JsonData.buildSuccess(stressCaseService.update(req));}
完整代码

@RestController
@RequestMapping("/api/v1/stress_case")
public class StressCaseController {@Resourceprivate StressCaseService stressCaseService;@RequestMapping("/find")public JsonData findById(@RequestParam("projectId")Long projectId,@RequestParam("id")Long caseId){return JsonData.buildSuccess(stressCaseService.findById(projectId,caseId));}@PostMapping("/del")public JsonData del(@RequestBody StressCaseDelReq req){return JsonData.buildSuccess(stressCaseService.delete(req.getId(),req.getProjectId()));}@PostMapping("/save")public JsonData save(@RequestBody StressCaseSaveReq req){return JsonData.buildSuccess(stressCaseService.save(req));}@PostMapping("/update")public JsonData update(@RequestBody StressCaseUpdateReq req){return JsonData.buildSuccess(stressCaseService.update(req));}@GetMapping("/execute")public JsonData execute(@RequestParam("projectId")Long projectId,@RequestParam("id")Long caseId){return JsonData.buildSuccess(stressCaseService.execute(projectId,caseId));}
}

不用多说,自定义请求体类如下

StressCaseSaveReq
@Data
public class StressCaseSaveReq {private Long projectId;private Long moduleId;private Long environmentId;private String name;private String description;private String assertion;private String relation;private String stressSourceType;private String threadGroupConfig;private String jmxUrl;private String path;private String method;private String query;private String header;private String body;private String bodyType;}
StressCaseDelReq
@Data
public class StressCaseDelReq {private Long id;private Long projectId;}
StressCaseUpdateReq
@Data
public class StressCaseUpdateReq {private Long id;private Long projectId;private Long moduleId;private Long environmentId;private String name;private String description;private String assertion;private String relation;private String stressSourceType;private String threadGroupConfig;private String jmxUrl;private String path;private String method;private String query;private String header;private String body;private String bodyType;}

可以看到,这就是测试用例的自定义请求体类了。

接下来就要完成Service和它的Impl即可。

StressCaseService

public interface StressCaseService {StressCaseDTO findById(Long projectId, Long caseId);int delete(Long id, Long projectId);int save(StressCaseSaveReq req);int update(StressCaseUpdateReq req);}

StressCaseServiceImpl

findById
public StressCaseDTO findById(Long projectId, Long caseId) {LambdaQueryWrapper<StressCaseDO> queryWrapper = new LambdaQueryWrapper<>();queryWrapper.eq(StressCaseDO::getProjectId, projectId);queryWrapper.eq(StressCaseDO::getId, caseId);StressCaseDO stressCaseDO = stressCaseMapper.selectOne(queryWrapper);return SpringBeanUtil.copyProperties(stressCaseDO, StressCaseDTO.class);}
delete
public int delete(Long id, Long projectId) {LambdaQueryWrapper<StressCaseDO> queryWrapper = new LambdaQueryWrapper<>();queryWrapper.eq(StressCaseDO::getProjectId, projectId);queryWrapper.eq(StressCaseDO::getId, id);return stressCaseMapper.delete(queryWrapper);}
save
public int save(StressCaseSaveReq req) {StressCaseDO stressCaseDO = SpringBeanUtil.copyProperties(req, StressCaseDO.class);return stressCaseMapper.insert(stressCaseDO);}
update
 public int update(StressCaseUpdateReq req) {StressCaseDO stressCaseDO = SpringBeanUtil.copyProperties(req, StressCaseDO.class);LambdaQueryWrapper<StressCaseDO> queryWrapper = new LambdaQueryWrapper<>();queryWrapper.eq(StressCaseDO::getProjectId, req.getProjectId());queryWrapper.eq(StressCaseDO::getId, req.getId());return stressCaseMapper.update(stressCaseDO, queryWrapper);}
完整代码
@Service
public class StressCaseServiceImpl implements StressCaseService {@Resourceprivate StressCaseMapper stressCaseMapper;@Overridepublic StressCaseDTO findById(Long projectId, Long caseId) {LambdaQueryWrapper<StressCaseDO> queryWrapper = new LambdaQueryWrapper<>();queryWrapper.eq(StressCaseDO::getProjectId, projectId);queryWrapper.eq(StressCaseDO::getId, caseId);StressCaseDO stressCaseDO = stressCaseMapper.selectOne(queryWrapper);return SpringBeanUtil.copyProperties(stressCaseDO, StressCaseDTO.class);}@Overridepublic int delete(Long id, Long projectId) {LambdaQueryWrapper<StressCaseDO> queryWrapper = new LambdaQueryWrapper<>();queryWrapper.eq(StressCaseDO::getProjectId, projectId);queryWrapper.eq(StressCaseDO::getId, id);return stressCaseMapper.delete(queryWrapper);}@Overridepublic int save(StressCaseSaveReq req) {StressCaseDO stressCaseDO = SpringBeanUtil.copyProperties(req, StressCaseDO.class);return stressCaseMapper.insert(stressCaseDO);}@Overridepublic int update(StressCaseUpdateReq req) {StressCaseDO stressCaseDO = SpringBeanUtil.copyProperties(req, StressCaseDO.class);LambdaQueryWrapper<StressCaseDO> queryWrapper = new LambdaQueryWrapper<>();queryWrapper.eq(StressCaseDO::getProjectId, req.getProjectId());queryWrapper.eq(StressCaseDO::getId, req.getId());return stressCaseMapper.update(stressCaseDO, queryWrapper);}
}
StressCaseDTO
@Data
public class StressCaseDTO implements Serializable {private Long id;private Long projectId;private Long moduleId;private Long environmentId;private String name;private String description;private String assertion;private String relation;private String stressSourceType;private String threadGroupConfig;private String jmxUrl;private String path;private String method;private String query;private String header;private String body;private String bodyType;private Date gmtCreate;private Date gmtModified;
}

http://www.hkea.cn/news/241346/

相关文章:

  • 骏域网站百度怎么收录网站
  • 网站robots.txt查看九江seo公司
  • 建设阿里妈妈网站搜索引擎排名优化seo
  • 自学网站建设作业创建网站免费
  • 营销网站定制的优势成品网站源码的优化技巧
  • 高职学院网站建设方案广告制作
  • table表格 做的网站营销案例分析报告模板
  • pc端网站做移动适配教育培训机构管理系统
  • 页游传奇排行榜无锡seo优化公司
  • 广西南宁网站设计百度seo算法
  • 网站建设服务怎么样近期国内热点新闻事件
  • 阿里巴巴网站国际站建设seo托管服务
  • 企业网站优化之如何做需求分析网奇seo赚钱培训
  • 施工企业会计制度收入确认规定百度自然排名优化
  • 校园网站建设意义网络营销的特点有哪些
  • 内江做网站哪里便宜google搜索关键词热度
  • 福建省建设银行招聘网站网络推广员压力大吗
  • 动态网站订单怎么做搜索引擎优化营销
  • html5行业网站最近有哪些新闻
  • 做网站业务的怎么寻找客户在哪里打广告效果最好
  • 广东深圳seo服务内容
  • 做网站怎么备案网络服务有限公司
  • 网站主页特效欣赏百度官网下载电脑版
  • php mysql开发网站开发任何小说都能搜到的软件
  • the7 wordpress主题宁波seo外包费用
  • 云南建筑培训网seo刷点击软件
  • 男女做暖网站h5页面制作平台
  • 可以做puzzle的网站百度关键词排名提升工具
  • 竞网网站建设南宁网站seo大概多少钱
  • 114黄页信息网宝鸡seo培训