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


    做自动化测试刚入门的时候,我们一般用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 接口的特征,再来进行开发

  • 相关阅读:
    游戏中转轮抽奖的算法实现[转]
    前端的一份配置(备份)
    [转]Jquery通用开源框架之【ejq.js】
    【完整靠谱版】结合公司项目,仔细总结自己使用百度编辑器实现FTP上传的完整过程
    用Putty连接Linux
    使用Nginx的proxy_cache缓存功能取代Squid
    nginx for windows 配置多域名反向代理
    详细解析用Squid实现反向代理的方法
    用Squid和DNSPod打造自己的CDN详细教程
    WINDOWS下的squid
  • 原文地址:https://www.cnblogs.com/qianjinyan/p/11100874.html
Copyright © 2020-2023  润新知