我希望使用Groovy在SOAPUI中执行以下操作:
testRunner.testCase.setPropertyValue( "Map", Map)
我在internet上发现一些帖子建议使用元类
groovy属性
context.testCase.metaClass.map = Map
log.info context.testCase.map
但我觉得对我来说还不够。
我希望能够通过以下方式将映射传递到Testcase2:
createMap = testRunner.testCase.testSuite.project.testSuites.testCases["TestCase1"]
createMap.map
提前致谢
正如@Siking在注释中正确解释的那样,setPropertyValue
方法期望和string
用于属性名称和属性值。
请注意,正如@rao所建议的那样,testCase的执行通常应该是独立的,但是从技术上来说,它可以完成您所要求的事情。
因此,对于您的情况,一个可能的解决方案是在第一个testCase中将映射
序列化为字符串
,以便可以使用setPropertyValue(Strig propertyName,String value)
方法进行保存,然后在第二个testCase反序列化它时,必须使用以下代码:
使用inspect()
方法序列化映射并将其保存为属性:
def map = ['foo':'foo','bar':'bar', 'baz':'baz']
testRunner.testCase.setPropertyValue('map',map.inspect())
使用eval.me(String exp)
反序列化
String
属性::
// get the first testCase
def testCase1 = testRunner.testCase.testSuite.testCases["TestCase1"]
// get the property
def mapAsStr = testCase1.getPropertyValue('map')
// deserialize the string as map
def map = Eval.me(mapAsStr)
assert map.foo == 'foo'
assert map.bar == 'bar'
assert map.baz == 'baz'
我试图在JavaFX中的场景之间传递一个字符串,我已经遵循了一些答案,但似乎它们不起作用,因为字符串在新场景中是空的。 另一个: 正如你所看到的,我尝试使用一个控制程序,并使用一个集合来填充字符串,问题是当我打开新场景时,他的控制程序重置,字符串不再存在,知道为什么或如何解决这个问题吗?
如何从secondactivity.java中的包到fragment_2.java文件中获取值?
订单列表 对于Product.class(string,double,int,int)和Order.class(string,double,int)我有一个单独的类。我还有一个用于productlist的arrayAdapter,它有增加/减少产品数量的按钮。
我得到了这个错误: “变量'a'已赋值,但其值永远不可用”
我已经在TestCase下创建了一些属性列表。例如,看下面的截图。 我试图通过以下groovy脚本teststep删除Testcase_Property属性: 当我重新加载项目时,当我单击测试用例名称时,Testcase_Property属性仍然存在于Custom Properties选项卡中。 谢谢 卡鲁纳加拉·潘迪
我使用的是。我有一个类似的类。我有一个的。 null