• SoapUI测试登录


    实际登录过程为:

    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

  • 相关阅读:
    centos7下git服务器端搭建(转)
    IDEA各个版本激活(亲测有效,永久有效)(转)
    维护贴--linux下 mysql数据库的备份和还原 (转)
    维护贴--验证可用--mysql给root开启远程访问权限,修改root密码(转)
    开通mysql root 用户远程访问权限(转)
    安装mysql时包冲突解决方法
    mysql5.5 for linux 安装(转)
    Centos中iptables和firewall防火墙开启、关闭、查看状态、基本设置等(转)
    一个div宽度不固定的左右居中效果
    多行文字在一个div中上下左右居中
  • 原文地址:https://www.cnblogs.com/CinYung/p/7833632.html
Copyright © 2020-2023  润新知