小编Sta*_*ion的帖子

如何使用groovy脚本动态地将子元素添加到SOAPUI中的SOAP请求

我有一个请求接受1..n项目添加到购物篮.默认请求有一个带有一些子元素的"item"元素,我想添加N个没有带子元素的项目我可以使用creaeElementNS添加Item父元素现在我想将子元素添加到"item"中,如下所示,可以有人对此有所了解

<basket:item>
<basket:itemId>222</basket:itemId>
<basket:itemCode>DEF</basket:itemCode>
<basket:item>
Run Code Online (Sandbox Code Playgroud)

Groovy脚本

def groovyUtils = new com.eviware.soapui.support.GroovyUtils( context )
def holder = groovyUtils.getXmlHolder( "createBasket#Request" )
def parentnode = holder.getDomNode( "//basket:createBasketRequest" )
def basketTotal=   holder.getDomNode( "//basket:itemsTotal" ) 
def itemsTag = requestDoc.createElementNS(parentnode.getNamespaceURI(), "item")
parentnode.insertBefore(itemsTag  , basketTotal)
holder.updateProperty()
Run Code Online (Sandbox Code Playgroud)

电流输出

<basket:createBasketRequest>
<basket:item>
    <basket:itemId>111</basket:itemId>
    <basket:itemCode>ABC</basket:itemCode>
</basket:item>
<basket:item>
</basket:item>
    <basket:itemsTotal>500.00</basket:itemsTotal>
</basket:createBasketRequest>
Run Code Online (Sandbox Code Playgroud)

期望的输出

<basket:createBasketRequest>
    <basket:item>
        <basket:itemId>111</basket:itemId>
        <basket:itemCode>ABC</basket:itemCode>
    </basket:item>
    <basket:item>
        <basket:itemId>222</basket:itemId>
        <basket:itemCode>DEF</basket:itemCode>
    <basket:item>
    <basket:itemsTotal>500.00</basket:itemsTotal>
</basket:createBasketRequest>
Run Code Online (Sandbox Code Playgroud)

编辑:我正在使用soapUI和TestCase选项,在添加篮子请求步骤之前有一个GroovyScript步骤,groovy脚本在实际发送请求之前准备添加篮子请求,例如,如果我的测试用例提到它应该请求默认的一个项目,所以我不必担心添加另一个Item元素但是当我的testcase说2个项目时我必须创建第二个Items元素(以及子元素)并在实际发送添加篮子请求之前使用groovy脚本步骤准备添加篮子请求

groovy soapui

6
推荐指数
1
解决办法
8519
查看次数

在红宝石的两个日期之间没有几个月,几年

我正在尝试编写web ui测试,根据用户输入(watir-webdriver)从jquery日历中选择日期,如何在两个给出日期之间找不到几个月,我搜索的几个解决方案无法得到我想要的

date1 = Date::strptime("2013-09-19", "%Y-%m-%d")  
date2 = Date::strptime("2013-09-25", "%Y-%m-%d")  
date3 = Date::strptime("2013-10-01", "%Y-%m-%d")  
date4 = Date::strptime("2014-01-20", "%Y-%m-%d")  
date5 = Date::strptime("2014-12-01", "%Y-%m-%d")  
Run Code Online (Sandbox Code Playgroud)

期望的输出

diff between date1,date2 -- 0 yrs, 0 month(s)  
diff between date1,date3 -- 0 yrs, 1 month(s)  
diff between date1,date4 -- 0 yrs, 4 month(s)  
diff between date1,date5 -- 1 yrs, 3 month(s)  
Run Code Online (Sandbox Code Playgroud)

我也检查了time_diff gem

ruby

2
推荐指数
1
解决办法
5058
查看次数

如何在添加no.of天后获得Joda-Time的确切月份差异

我试图找到两个日期之间的数月.任何帮助赞赏.我在下面的例子中使用Joda-Time.

DateMidnight start = new DateMidnight(new Date()); 
DateMidnight dtEndDate  = start.plusDays(11);   //adding Days

int months = Months.monthsBetween(start, dtEndDate).getMonths();

System.out.println("Months between " +
                    start.toString("yyyy-MM-dd") + " and " +
                    dtEndDate.toString("yyyy-MM-dd") + " = " +
                    months + " month(s)");
Run Code Online (Sandbox Code Playgroud)

以上代码在2013年2月18日至2013年3月1日期间返回"0"

由于我需要在同一个月找到差异,我不能在+1个月添加+1,我还需要找到两个过去时间段之间的差异,即'2012-Dec-04'和'2013-Jan-06'之间应该返回-1 ;

scenario1:

date1:  2013-02-18
    date1.plusDays(11);
date2:  2013-03-01
Output : 0 month(s)   //but I need as 1 Month

scenario2:
date1:  2013-02-18
    date1.plusDays(1);
date2:  2013-02-19
Output : 0 month(s)   //returns correctly exactly what I need

scenario3:
date1:  2013-03-18
date2:  2013-02-19 …
Run Code Online (Sandbox Code Playgroud)

java jodatime

1
推荐指数
1
解决办法
3479
查看次数

标签 统计

groovy ×1

java ×1

jodatime ×1

ruby ×1

soapui ×1