当前位置: 首页 > 知识库问答 >
问题:

SoapUI Free-属性值中的Groovy脚本以获取TestSuite属性

公冶浩慨
2023-03-14

我使用的是免费(非专业)SoapUI 5.0,我在测试套件中有一个属性列表。然后,我有许多测试步骤,每个步骤与测试套件属性具有相同的名称。

我试图在测试步骤属性中编写Groovy脚本,以检索同名的测试套件属性的值。

例如:

  • 测试套件的属性颜色为\u红色,值为12345

到目前为止,我在“info”属性值中拥有什么:

${=new GroovyShell().evaluate(testRunner.testCase.testSuite.project.getPropertyValue(context.getCurrentStep().getLabel()))}

我不确定我是否需要新的GroovyShell()。评估位,但没有它仍然不起作用。我不能确切地知道正在获取什么,但它不是同名测试套件属性的值。

据我所见,脚本应该检索当前测试步骤名称(colour\u red),然后在测试套件中查找名为该名称的属性。

我这样做的原因是,我在测试套件属性值中有数据,这些数据需要在许多测试用例之间共享(所有测试用例都有许多测试步骤)。没有PRO版本,我很难做到这一点,但我认为Groovy应该有办法做到这一点。

感谢您的帮助。

共有2个答案

司徒寒
2023-03-14

我想这正是你想要的:

def myStep = context.currentStep.name
def myValue = context.expand( '${#Project#' + myStep + '}' )
testRunner.testCase.setPropertyValue("info", myValue)

我把它做得比需要的更详细了一点。我不认为-Pro会帮助你,除非我误解了你的需要。

诸葛嘉熙
2023-03-14

我认为研究房地产扩张会对你有所帮助。http://www.soapui.org/Scripting-Properties/property-expansion.html

为了让你走...

您可以使用这些动态引用轻松引用属性值:

将类似于${#TestSuite#colour\u red}的引用作为“info”的属性值。

现在,info属性值被动态设置为TestSuite的colour\u red属性值。

 类似资料:
  • 我向一个服务发出API请求,该服务在主体中返回一个JSON对象。 我似乎无法在groovy中获得名为“properties”的键的值。 每次我调用我得到以下内容 但是如果我只调用,就会得到预期的JSON对象 同样,如果I我得到这只是当我我是否得到上述响应

  • 我有一个像这样的Json文件: 我想从这个文件创建一个sql查询。所以我写了这个代码 但我认为我没有正确地访问值项。有人能帮帮我吗

  • 问题内容: 我想根据属性名称打印属性值,例如 我想做这样的事情 上面的代码给出了一个,我相信这是因为BeatifulSoup使用了name,所以它不能用作关键字参数。 问题答案: 这很简单,请使用以下代码- 如果不清楚,请发表评论。

  • 我正在从apache camel调用groovy脚本。当我调用groovy脚本时,我收到以下错误提示。我如何克服这个问题?我尝试了setProperty()。setHeader但没有运气。 错误: 我尝试按以下方式设置属性,但遇到了相同的错误 我知道我可以这样做。但我想用apache camel groovy组件来实现这一点。 测验谷胱甘肽

  • 我有一节课: 值是唯一的,如何通过其值获取属性的名称? 通过反射,例如:

  • 我需要标签中的属性值。< br >例如。Name xmlns:xsi = " http://www . w3 . org/2001/XML inst " xsi:space schema = " Name _ 5879 . xsd "