SoapUI登录测试(2)-- 断言
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’
保持原断言不变,运行结果如下:
最新文章
- Duilib源码分析(三)XML解析器—CMarkup
- iOS - UIKit
- 微信用户授权,取openid
- parseInt在IE8转换返回不相等(parseInt(";08";)返回0等以0开头大于7的数字串)
- CSS3/SVG clip-path路径剪裁遮罩属性简介
- OC语言-02面向对象的三大特性
- RSA算法原理(一)
- poj_1743_Musical Theme(后缀数组)
- 面试 -- ListView对其指定的子Item进行单独的刷新
- 201521123035《Java程序设计》第三周学习总结
- AsyncLocal 与 async await
- Vue:如何在地图上添加自定义覆盖物(点)
- echarts 修改y轴刻度间隔问题
- nginx安装目录详解(针对centos)
- 一次线上FullGC问题记录
- 04_web基础(七)之jsp
- centos7 vsftp的安装
- Hexo之NexT配置过程中遇到的问题
- 其他:strtok和sscanf结合输入读取一行整数
- webservice调用的四种方式
热门文章
- KEIL下分散加载文件的使用(zt)
- React中key的必要性与使用
- python 基础 1.5 python数据类型(三)--元组常用方法示例
- JS实现图片无缝滚动特效;附addEventListener()方法、offsetLeft和offsetWidth属性。
- .net 平台下的AI框架
- HttpPost (URLConnection)传参数中文乱码
- Dijkstra的堆优化
- 7-4 汉密尔顿回路(25 分) 【STL】
- NodeJs如何全局统一处理异常,实现RestFull风格
- BZOJ 1650 [Usaco2006 Dec]River Hopscotch 跳石子:二分