import com.eviware.soapui.support.GroovyUtils
import com.eviware.soapui.support.XmlHolder
import org.w3c.dom.Node
import org.apache.commons.lang.StringUtils
import java.util.HashSet def groovyUtils = new GroovyUtils(context)
def xmlHolder = groovyUtils.getXmlHolder(messageExchange.getResponseContent())
def activeEnv = context.expand( '${#Project#activeEnv}' )
log.info "The active environment is $activeEnv" String[] fixClientIdArray
if(activeEnv=="LIVE"){
fixClientIdArray = new String[2]
fixClientIdArray[0] = "6e2ba3e9-68a4-4c8f-a164-f026e7239cf7"
fixClientIdArray[1] = "dfba4888-348a-4fb1-91f7-8a03fb6aa775"
} if(activeEnv=="QA"){
fixClientIdArray = new String[3]
fixClientIdArray[0] = "6fe9b969-3711-4083-a8c4-186e75e6e9e7"
fixClientIdArray[1] = "43ec112f-cd57-4d84-a5e8-1d62e1f71244"
fixClientIdArray[2] = "8c8e3e6a-0cb1-41d0-a07b-ca3fff506cee"
} def fixSet = new HashSet() for(String clientId : fixClientIdArray){
fixSet.add(clientId)
} String xPath = "//clients/client"
Node[] nodeArray = xmlHolder.getDomNodes(xPath)
int actualCount = nodeArray.length
int expectedCount = context.expand('${#Project#ClientCount}').toInteger() assert fixSet.size() == expectedCount log.info "Actual : nodeArray.length of "+xPath+" : "+actualCount
log.info "Expected : nodeArray.length is : "+expectedCount
assert actualCount==expectedCount String clientIdPath = xPath + "/@id" String[] valueArray = xmlHolder.getNodeValues(clientIdPath)
log.info "valueArray.length of "+clientIdPath+":"+valueArray.length
assert valueArray != null && valueArray.length>0
for(String value : valueArray){
log.info "value:"+value
assert StringUtils.isNotBlank(value)
assert fixSet.contains(value) fixSet.remove(value)
} assert fixSet.size() == 0

[Groovy]获取当前活动的Environment,获取response中节点的name和节点的value的更多相关文章

  1. Ruby操作VBA的注意事项和技巧(1):乱码、获取VBA活动和非活动窗口的名称与路径、文件路径的智能拼接与截取(写入日期)

    1.VBA编辑器复制粘贴出来的代码乱码     解决方法:切换到中文输入模式再复制出来就行了 2.获取VBA活动和非活动窗口的名称与路径 Dim wbpath, filename As String ...

  2. C# -- 使用System.Environment获取电脑的相关属性

    使用System.Environment获取电脑的相关属性 1.使用System.Environment获取电脑的相关属性(入门案例) static void Main(string[] args) ...

  3. C#获取当前活动窗口句柄

    c# 获取当前活动窗口句柄,获取窗口大小及位置 2018年04月26日 13:48:21 漂泊_人生 阅读数:1889   需调用API函数 需在开头引入命名空间using System.Runtim ...

  4. 爬虫——response中获取的不带主域名的url的拼接

    scrapy中response提取的没有主域名的url拼接 # 1.导入urllib的parse # 2.调用parse.urljoin()进行拼接,例子中response.url会自动提取出当前页面 ...

  5. C#开发BIMFACE系列17 服务端API之获取模型数据2:获取构件材质列表

    系列目录     [已更新最新开发文章,点击查看详细] 在上一篇<C#开发BIMFACE系列16 服务端API之获取模型数据1:查询满足条件的构件ID列表>中介绍了获取单文件(模型)的所有 ...

  6. C#开发BIMFACE系列18 服务端API之获取模型数据3:获取构件属性

    系列目录     [已更新最新开发文章,点击查看详细] 本篇主要介绍如何获取单文件/模型下单个构建的属性信息. 请求地址:GET https://api.bimface.com/data/v2/fil ...

  7. C#开发BIMFACE系列19 服务端API之获取模型数据4:获取多个构件的共同属性

    系列目录     [已更新最新开发文章,点击查看详细] 在前几篇博客中介绍了一个三维文件/模型包含多个构建,每个构建又是由多种材质组成,每个构建都有很多属性.不同的构建也有可能包含相同的属性. 上图中 ...

  8. C#开发BIMFACE系列21 服务端API之获取模型数据6:获取单模型的楼层信息

    系列目录     [已更新最新开发文章,点击查看详细] 一个文件/模型中可能包含多个楼层信息,获取楼层信息对于前端页面的动态展示非常有帮助.本篇介绍获取一个文件/模型中可能包含多个楼层信息的详细方法. ...

  9. C#开发BIMFACE系列24 服务端API之获取模型数据9:获取单个房间信息

    系列目录     [已更新最新开发文章,点击查看详细] 大厦建筑模型中,基本上包含多个楼层,每个楼层包含多个房间等信息.在<C#开发BIMFACE系列21 服务端API之获取模型数据6:获取单模 ...

随机推荐

  1. Hibernate学习8—Hibernate 映射关系(一对一)

    第一节:Hibernate 一对一映射关系实现 假设一个用户对应一个地址:   1)按照主键映射: User.java: package com.cy.model; public class User ...

  2. java代码---I/O文件内容复制

    总结:主要是弄清输入流,输出流 输入流和输出流都是针对程序而言,把文件内容读取到程序是输入流 从程序把内容写入文件是输出流 package com.a.b; import java.io.*; imp ...

  3. Thread之五:线程的优先级

    Java线程可以有优先级的设定,高优先级的线程比低优先级的线程有更高的几率得到执行(不完全正确,请参考下面的“线程优先级的问题“). 记住当线程的优先级没有指定时,所有线程都携带普通优先级. 优先级可 ...

  4. java http头信息

    JAVA 从http请求头中获取Header信息: request.getHeader(),request.getHeaderNames(),request.getHeaders() Java获取Ht ...

  5. crontab 定时任务设置

    CRONTAB概念/介绍 crontab命令用于设置周期性被执行的指令.该命令从标准输入设备读取指令,并将其存放于“crontab”文件中,以供之后读取和执行. cron 系统调度进程. 可以使用它在 ...

  6. ROS6.16开始支持802.11ac了,扫盲下

    Wi-Fi的5G频段与802.11AC背后那些事儿本文章来自某路由论坛,作者为张导,本人转载,原地址http://bbs.hiwifi.com/thread-9086-1-1.html 曾几何时,大家 ...

  7. 遇到版本兼容问题时 Newtonsoft.Json

    <runtime> <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1"> <depen ...

  8. zabbix 报警方式之 微信公众号报警(5)

    一.条件 首先你得有一个微信公众号,并且是可以有发送消息的接口.然后你得有个脚本去调用微信的api. 这里感谢一下微信.使我们运维人员的报警方式多了一种... (同事们不要怪我哈.) 之后可以参考下z ...

  9. linux网络监视器

    vnstat iftop nethogs dig ipcalc

  10. scrapy核心组件工作流程和post请求

    一 . 五大核心组件的工作流程 引擎(Scrapy)用来处理整个系统的数据流处理, 触发事务(框架核心) 调度器(Scheduler)用来接受引擎发过来的请求, 压入队列中, 并在引擎再次请求的时候返 ...