SoapUI登录测试(1)的结果为:

可以看到只有第2步是成功的,1、3的结果是unKnown,这里并没有对1、3两步添加断言,判断testCase中的这2步是否通过。

一、添加断言

1. /login这个接口,会返回一个Json格式的字符串,登录成功返回{"error": 0,"msg": ""},失败返回{"error": 44001,"msg": "用户名或密码错误"}

可添加JsonPath Match断言

2. 比较/login和/dashboard页面,/dashboard存在/login退出登录的按钮,于是添加Contains断言

3. 添加完上述两个断言以后,发现testCase界面,两个HTTP Request步骤的图标均变为绿色

4. 运行该testCase,三个步骤均通过

二、完善测试用例

1. 测试登录失败

上面是一个完整的登录成功的例子,一个登录接口还存在登录失败的情况,也应覆盖。SoapUI提供了Clone TestCase,使用该功能克隆一个login-failed的用例。

修改login中的password为1234,并根据接口文档,将断言中error的Excepted Result改为44001。

登录失败时,获取任何界面都应该返回login界面。

修改dashboard中的断言,将Contains断言改为not Contains断言,应不包含退出登录(删除重新添加)。

结果如下:

2. 自动调整

实际情况中,用户登录后,是自动调整到dashboard界面的,所以第三步中请求/login页面,也应返回/dashboard页面。

克隆TestCase Login得到Login-redirect,第三步dashboard重命名为redirect,并将请求的Url改为/login。

由于第三步重命名,第二步Groovy Script写入cookie的TestStep名称应改为‘redirect’

保持原断言不变,运行结果如下:

最新文章

  1. Duilib源码分析(三)XML解析器—CMarkup
  2. iOS - UIKit
  3. 微信用户授权,取openid
  4. parseInt在IE8转换返回不相等(parseInt("08")返回0等以0开头大于7的数字串)
  5. CSS3/SVG clip-path路径剪裁遮罩属性简介
  6. OC语言-02面向对象的三大特性
  7. RSA算法原理(一)
  8. poj_1743_Musical Theme(后缀数组)
  9. 面试 -- ListView对其指定的子Item进行单独的刷新
  10. 201521123035《Java程序设计》第三周学习总结
  11. AsyncLocal 与 async await
  12. Vue:如何在地图上添加自定义覆盖物(点)
  13. echarts 修改y轴刻度间隔问题
  14. nginx安装目录详解(针对centos)
  15. 一次线上FullGC问题记录
  16. 04_web基础(七)之jsp
  17. centos7 vsftp的安装
  18. Hexo之NexT配置过程中遇到的问题
  19. 其他:strtok和sscanf结合输入读取一行整数
  20. webservice调用的四种方式

热门文章

  1. KEIL下分散加载文件的使用(zt)
  2. React中key的必要性与使用
  3. python 基础 1.5 python数据类型(三)--元组常用方法示例
  4. JS实现图片无缝滚动特效;附addEventListener()方法、offsetLeft和offsetWidth属性。
  5. .net 平台下的AI框架
  6. HttpPost (URLConnection)传参数中文乱码
  7. Dijkstra的堆优化
  8. 7-4 汉密尔顿回路(25 分) 【STL】
  9. NodeJs如何全局统一处理异常,实现RestFull风格
  10. BZOJ 1650 [Usaco2006 Dec]River Hopscotch 跳石子:二分