接口自动化测试平台-用例设计的思考

前言

自动化任务有用例执行失败了,打开分析一看,怎么登录状态token过期了,怎么查询的帐号不存在,这是往往自动化用例设计者自己坑了自己。
在设计Go接口自动化测试平台时,自己在思考:如何可以提高接口自动化用例的稳定性及可用性?

常见问题

经常遇到测试场景不存在,导致用例执行结果非预期或是导致设置的断言点不通过。

解决方案设计
  • 请求body参数化:请求参数尽量以参数化赋值,做到动态构建请求报文。如下图所示:登录状态的token值及body参数中的labelid都以参数的形式编写。实际执行用例时会按参数的设定规则获取对应的最新值。
     
     
    如参数${alitestToken}:其设定的值为[email protected]邮箱,程序逻辑设计为:会先去相应服务器DB中查询是否已有有效的token值,若有直接返回,否则执行登录操作再返回token值,这样就确保了每次用例被调度执行时均是有效的token值。
  • 生成场景:举例:登录接口返回登录成功的前提是有一个已存在于DB的帐号及密码,故通过可预设前置用例或是前置sql操作,可以确保预置好一个可用的帐号。

     
     
  • 断言点参数化:断言点这里也设计为可通过sql从db获取预期值,与实际值作对比。实际值可通过jsonpath灵活取值,尽量使用例中的断言点更像是一个公式,可以动态匹配。

猜你喜欢

转载自www.cnblogs.com/dengsm/p/10332709.html