码迷,mamicode.com
首页 > 其他好文 > 详细

后台接口,动态生成测试用例名称,测试用例请求数据

时间:2019-07-01 18:31:55      阅读:84      评论:0      收藏:0      [点我收藏+]

标签:方式   规则   span   var   方便   修改   测试   sts   mil   

做自动化测试刚入门的时候,我们一般用Jemter配置请求url/port,请求方式,然后编写一条条case, 将对应的case中创建符合的请求body_sample

一般的后台接口,需要考虑的无非是如下:

正确的请求,验证数据库中对应的数据被创建/更新,验证Response中返回码匹配

异常的请求,对应下面的图 

技术图片

 

必传字段,一一验证,
请求传入的必传字段1未传
请求传入的必传字段2未传
...

 

必传字段传空,一一验证,
请求传入的必传字段1传空,验证返回xxx
请求传入的必传字段2传空,验证返回xxx

 


请求传入的字符串超过最大长度限制,
比如name字段最大允许20个长度,请求传入的name是21个中文字符,验证返回xxx
考虑英文模式,需要接口说明文档先澄清中英文长度是否一致,因为比如sqlserver数据库中,varchar()和nvarchar()对中英文区别
...

 

请求传入的方式为get,不是规定的post,验证返回xxx
请求传入的请求体是json格式

 

========================================================

 

有没有遇到过以下一些变更
比如请求中的必传字段,忽然又增加了一个,
比如请求中的入参的名称,从telephone更改成了mobile

 

那请求体如果本身字段已经很多了,那这时候要逐个更改测试用例中的请求体,是不是特别费事儿
而开发只需要将POJO中的实体,增加一个属性,用对象来进行接收即可,
只需要话费几分钟的时间,
而测试将测试数据逐个修改,既耗费时间,又不学习新技能,这样的蠢活儿做多了,自己都快怀疑人生。

那我们能够动态地生成测试用例和测试数据吗?

只要多动脑,就可以。基于上面的想法,我就开发了以下的测试平台,可以通过输入接口的入参和入参的类型,动态生成测试用例名称和测试用例的数据。目前是json格式的body。 

https://www.88bugs.com/bug/login

 如下注册接口,需要6个入参,其中5个入参是必传参数。

我只需要在平台中,填写入参名称,入参Sample,入参最大长度,就可以让平台替我们生成测试用例。

技术图片

依次点击页面上的button,生成对应类型的测试用例

技术图片

然后点击下载的button,将自己的测试用例下载下来

技术图片

有了测试用例和测试数据,想进行运行,就很方便了,你可以用Jmeter运行,可以用java+httpclient,可以用python+requests等等

当然,我这边做的还不全,可以继续新增mobile应该有的格式,比如1打头且必须长度11位且全是数字,比如邮箱需要含有@和.等,将这些常用的检验封装成方法,以后直接拿来调用

如果,考虑到请求体中通常会有加密字段,根据各种规则加密,可以在写一些方法,若干个字段通过某种方式加密等等

目前只是个demo,需要更多的时间,和api 接口的特征,再来进行开发

后台接口,动态生成测试用例名称,测试用例请求数据

标签:方式   规则   span   var   方便   修改   测试   sts   mil   

原文地址:https://www.cnblogs.com/qianjinyan/p/11100874.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!