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’
保持原断言不变,运行结果如下: