实际登录过程为:

1. 打开/login页面

2. 登录

3. 自动调整至/dashboard页面

SoapUI的设计上,每一次请求后,都会清理掉cookie,于是设计的测试登录过程如下:

1. post:/login

2. 读取第一步的session,传递给下一步

3. get:/dashboard

1. 创建一个TestSuite

2. 新建一个TestCase,命名为login

3. 添加HTTP Request:login,设置Method为POST,在Requset参数配置参数(具体根据接口文档配置),勾选Post QueryString(对应于过程中的第一步)

4. 添加HTTP Request:dashboard,设置Method为GET(对应于第三步)

5. 在login和dashboard两步中添加Groovy Script

6. 在Groovy Script中传递cookie中的userSession信息

import com.eviware.soapui.support.types.StringToStringMap

def cookiesList = testRunner.testCase.getTestStepByName("login").testRequest.response.responseHeaders["set-cookie"]
log.info cookiesList //Get the cookie
String cookieNew = cookiesList.get(0)
log.info "cookie : "+cookieNew //Put cookie to a StringMap
def cookieMap = new StringToStringMap()
cookieMap.put("Cookie",cookieNew) testRunner.testCase.getTestStepByName("dashboard").httpRequest.setRequestHeaders(cookieMap);

测试结果:

运行该Test Case

在TestCase Log中找到Step3的结果,打开后,查看Response Message中的HTML,可以看到dashboard页面

刚刚开始入门SoapUI,整个登录过程的测试,挺坎坷的。一直不知道session怎么传递。

首先看菜单,就觉得可以使用Property Transfer:

折腾了很久,都没有成功。也不想网上搜索的使用Property Transfer时,可以使用Select Source XPath

由于一直使用Property Transfer传递值不成功,仔细看了login那一步的Response Message,发现Raw中,有在cookie中写入usersSession

马上转为考虑从cookie中读取userSession。

但是我所找到的所有网上的读取cookie都是使用:

但是一直不成功,并且SoapUI一直报错说cookiesList为null,导致后面的代码无法执行。

一度放弃研究SoapUI,然后发现,login -- Response Message -- Raw中的是“set-cookie”,结果发现,这里大小写敏感。

参考:

1. Property Transfer使用:http://blog.csdn.net/wanglha/article/details/48286169

2. SoapUI设置Cookie:https://www.cnblogs.com/milo-xie/p/6431575.html

SoapUI测试登录的更多相关文章

  1. 使用 SoapUI 测试ASP.NET Web API

    我们为不同的目的开发了很多web服务,经过授权的用户就可以访问和使用这些web服务.soapUI 是一个强大的测试web服务的工具,他不仅可以测试SOAP服务,他也支持测试RESTful服务.在这里我 ...

  2. PI-利用SoapUI 测试web service的方法介绍

    在运用webservice调用数据的过程中,非常关键的一个步骤就是获取到webservice的地址,并测试webservice的连通情 况,webservice的连通测试主要是两个方面:1,查看web ...

  3. 使用SoapUI 测试Web Service

    原文:使用SoapUI 测试Web Service 如何测试写好的Webservice?你当然可以写代码来测试,但还是太麻烦,你得花时间去学习各语言的关于Webservice调用的相关API.这里推荐 ...

  4. SoapUI SoapUI测试WebService协议接口简介

    SoapUI测试WebService协议接口简介 by:授客 QQ:1033553122 1. 创建项目,入口:File -> New SOAP Project,或者右键默认项目Project- ...

  5. 用SoapUI 测试Web Service

    如何测试写好的Webservice? 方法一:写代码来测试,但还是太麻烦,你得花时间去学习各语言的关于Webservice调用的相关API. 方法二:使用Webservice开发的必备工具- Soap ...

  6. soapUI 使用soapUI测试http+json协议接口简介

    使用soapUI测试http+json协议接口简介 by:授客 QQ:1033553122 SoapUI-Pro-x64-5.1.2_576025(含破解文件),软件下载地址: http://pan. ...

  7. 使用SoapUI测试windows身份验证的webservice

    有个朋友问到用soapui测试wcf服务时如果使用windows身份验证要怎么传输凭据,于是自己试了一下.其实服务端是wcf还是webservice还是webapi都无所谓,关键是windows身份验 ...

  8. SoapUI 测试接口演示

      SoapUI 测试接口演示 CreateTime--2018年4月2日15:54:05 Author:Marydon 以webservice为例 1.安装:  SoapUI-x64-5.4.0-E ...

  9. 利用SoapUI 测试web service的一些问题总结

    总结两个利用SoapUI 测试web service的一些问题: 1.请求一个soap service 请求的时候:按照下面的配置输入请求地址后, 2.根据实际service接口的需要,传入相应的参数 ...

随机推荐

  1. Python学习总结之二 -- 数据类型

    带你走进数据类型 一:整数.浮点数 Python中整数和浮点数的定义以及运算和C++都是一样的,我在这里就不需多说了,我就说明一点:Python相对于C/C++而言,定义整数没有int 和 long ...

  2. 新装上线 年度精品 XP,32/64位Win7,32/64位Win10系统【电脑城版】

    随着Windows 10Build 10074 Insider Preview版发布,有理由相信,Win10离最终RTM阶段已经不远了.看来稍早前传闻的合作伙伴透露微软将在7月底正式发布Win10的消 ...

  3. 转载 OSX开发推荐书籍列表

    初级 (开发语言, 开发工具)Objective-C Beginner's GuideObjective-C for Absolute Beginners 2nd EditionLearning Co ...

  4. 1194: [HNOI2006]潘多拉的盒子

    1194: [HNOI2006]潘多拉的盒子 Time Limit: 10 Sec  Memory Limit: 162 MBSubmit: 464  Solved: 221[Submit][Stat ...

  5. EasyPlayer播放海康大华RTSP流时RTSPClient客户端连接兼容问题的解决

    在之前的博客<EasyPlayer RTSP播放器对RTSP播放地址url的通用兼容修改意见>中,我描述了遇到的一个客户在播放大华某款摄像机时地址不兼容的问题,这不,团队刚刚参考我的这个意 ...

  6. 九度OJ 1153:括号匹配问题 (DP)

    时间限制:1 秒 内存限制:32 兆 特殊判题:否 提交:5193 解决:2248 题目描述: 在某个字符串(长度不超过100)中有左括号.右括号和大小写字母:规定(与常见的算数式子一样)任何一个左括 ...

  7. Git you are not allowed to push code to protected branches on this project?

    error: You are not allowed to push code to protected branches on this project....error: failed to pu ...

  8. opencv使用记录

    /*2017-1-14*/ /*视频的读取...*/ int g_n=0; void on_change(int pos,void *)//看来void*不能省! { printf("g_n ...

  9. python 的print 用法

    print(x,y) 等价于 import sys sys.stdout.write(str(x) + ' ' +str(y) + '\n') 从语法上讲,调用python3.0 的print 函数有 ...

  10. 卸载apache服务

    卸载服务,管理员身份运行命令行程序,输入 sc delete apache2.2