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’

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

SoapUI登录测试(2)-- 断言的更多相关文章
- 一次完整的自动化登录测试-基于python+selenium进行cnblog的自动化登录测试
Web登录测试是很常见的测试!手动测试大家再熟悉不过了,那如何进行自动化登录测试呢!本文作者就用python+selenium结合unittest单元测试框架来进行一次简单但比较完整的cnblog自动 ...
- jmeter压力测试的简单实例+badboy脚本录制(一个简单的网页用户登录测试的结果)
JMeter的安装:在网上下载,在下载后的zip解压后,在bin目录下找到JMeter.bat文件,双击就可以运行JMeter. http://jmeter.apache.org/ 在使用jmeter ...
- Python+Selenium+Unittest+HTMLTestRunner生成测试报告+发送至邮箱,记一次完整的cnblog登录测试示例,
测试思路:单个测试集.单个测试汇成多个测试集.运行测试集.生成测试报告.发送至邮箱. 第一步:建立单个测试集,以cnblog登录为例. 测试用例: cnblog的登录测试,简单分下面几种情况:(1)用 ...
- 一次简单完整的自动化登录测试-基于python+selenium进行cnblog的自动化登录测试
Web登录测试是很常见的测试,手动测试大家再熟悉不过了,那如何进行自动化登录测试呢!本文就基于python+selenium结合unittest单元测试框架来进行一次简单但比较完整的cnblog自动化 ...
- python+selenium自动化禅道登录测试
本文以禅道登录测试为例,思路主要分openBrowser.openUrl.findElement.sendVals.checkResult.ReadUserdate六部分 openBrowser de ...
- [转载]SOAPUI压力测试的参数配置
原文地址:SOAPUI压力测试的参数配置作者:goooooodlife The different Load Strategies available in soapUI and soapUI Pro ...
- Python之POST登录测试
不解释,直接上代码: #!/usr/bin/env python # -*- encoding: utf-8 -*- """ @version: v1.0 @author ...
- postman测试实例--断言
postman测试实例--断言 让我们来看看postman测试的一些例子. 其中大部分是作为内部postman片段. 大多数测试是为单行的JavaScript语句一样简单. 只要你想一个请求,你可以有 ...
- py+selenium一个可被调用的登录测试脚本【待优化】
大部分系统现在都有登录页面,本文主要尝试写一个登录的测试脚本,及另一个脚本调用它登录测试已登录的页面模块. 目标: 登录脚本:从excel里获取登录的测试数据(包括异常测试)→执行登录脚本→输出是否通 ...
随机推荐
- [项目构建 十一]babasport 购物车的原理及实现.
今天来开始写一下关于购物车的东西, 这里首先抛出四个问题: 1)用户没登陆用户名和密码,添加商品, 关闭浏览器再打开后 不登录用户名和密码 问:购物车商品还在吗? 2)用户登陆了用户名密码,添加商品, ...
- Python中属性
属性定义的两种方式: 1.num1=property(GetNum,SetNum) class Pro(): def __init__(self): self._num= def GetNum(s ...
- notHere 对框架解决方案的框架预期处理
<script> import wepy from 'wepy' import api from '../api/api' import util from '../utils/util' ...
- java.lang.UnsupportedClassVersionError: org/openqa/selenium/WebDriver : Unsupported major.minor version 51.0
周一上班,正常打开myeclipse,随便写了一个main方法执行.发现报错了... 问题提示如下: java.lang.UnsupportedClassVersionError: org/openq ...
- Pentaho BIServer Community Edtion 6.1 使用教程 第二篇 迁移元数据 [HSQLDB TO MySQL]
第一部分 迁移原因 Pentaho BI 社区版服务的很多元数据信息存储在数据库汇总,其默认使用HSQLDB 数据库,即借助它存储自身的资料库,比如 Quartz 调度信息.业务资料库连接信息(数据 ...
- CUDA: 共享内存与同步
CUDA C支持共享内存, 将CUDA C关键字__shared__添加到变量声明中,将使这个变量驻留在共享内存中.对在GPU上启动的每个线程块,CUDA C编译器都将创建该变量的一个副本.线程块中的 ...
- linux下更改文件夹名
mv 旧文件夹名 新文件夹名 mv /usr/bin/python_old /usr/bin/python_new
- Builder 模式初探
Builder 模式是一步一步创建一个复杂对象的创建型模式,它允许用户在不知道内部构建细节的情况下,可以更精细的控制对象的构造流程.该模式是为了将构建复杂对象的过程和它的部件解耦,使得构建过程和部件的 ...
- springcloud 研发规范
1) 程序结构规范 1: Facade-Stub:包含所有对外提供服务的借口定义,并对外提供 2: Façade:实现Façade-Stub里面定义的全部借口,可以调用Service模块和Commo ...
- LightOJ - 1274 Beating the Dataset —— 期望
题目链接:https://vjudge.net/problem/LightOJ-1274 1274 - Beating the Dataset PDF (English) Statistics ...