如何使用该属性

时间:2012-07-25 10:12:50

标签: soapui

在下面提到的场景中,有人可以帮我解决这个问题......? 首先,我为每个单独的Web服务创建了一个测试套件,用于处理其各自类型的测试用例,例如,请求成功,内部服务器错误bla bla。 我的应用是基于登录的。登录成功后,登录API会在响应中返回会话ID和其他一些值。 ive另一个套件从服务器获取最新的研究对象,它在testsuite 1中作为响应生成。你能帮助我使用这个属性(sessionid)作为参数,同时调用其他API(例如,getlateststudies)其他测试套件的一部分....在这种情况下,我想获取该sessionid的最新研究。 如您所知,这类参数的值,例如,sessionid是系统生成的。在这种情况下,可以起诉野性(*)。 我是SOAPUI的新手,已经从soap UI在线帮助链接中获得了帮助,但整个帮助与在相同的测试套件中使用属性作为参数而不是在各种测试套件中相关。 如果您知道如何继续,请详细说明所有步骤。 为了更清楚,让我定义我在工作区中构建的层次结构。 Userlogin / testsuite 1,代表登录API / 请求成功/ 测试用例名称,表示方案 / teststep1 方法1,request1 / 此测试用例在调用时将系统生成的sessionid作为值返回 / getlateststudies / * test suite 2,表示从服务器获取最新研究的API 那个sessionid * / 请求成功/ 测试用例名称,表示方案 / teststep1 方法1,request1 我需要使用任何groovy脚本吗? 我已经尝试在同一个测试套件中使用soap UI的属性transefer功能但是 告诉我一些合适的解决方案,以便在同一个项目的测试套件中使用它。


@史蒂夫,谢谢你的回复。我实际上按照你最后一次与你提供的第二个链接中提到的步骤,sessionid参数是一个服务器生成的id,它不能被硬编码。只想和你讨论我做了什么!我在项目级别sessionid中定义了一个属性,并从外部源(例如.txt文件)中导入了它的值,其中ive用野性字符保存了sessionid的值,即*。考虑到它将选择服务器生成的sessionid并且我真的不想传递硬编码值这一事实。我后来使用属性转移功能来选择源和目标属性名称及其值。想与你仔细检查是我的方法是否正确,如果没有,那么请提供你宝贵的意见!或者如果传递通配符字符对于服务器生成的id不正确,那么应该用什么其他可能的选项来表示这个?

1 个答案:

答案 0 :(得分:1)

你很近,听起来你只是使用了错误的属性类型。 soapUI有几个级别。

  • 全球 - 全球可用
  • 项目 - 可在整个项目中使用
  • TestSuite-可在套件中使用
  • TestCase-在测试用例中可用

您需要使用属性传输到项目级属性,因此在项目级别添加自定义属性,然后使用属性传输到您创建的属性。使用xpath提取所需的数据。最后,您需要在新请求$ {#Project#PropertyName}

中使用该项目属性

可以从soapUI网站获取所有这些工具。

http://www.soapui.org/Functional-Testing/xpath-and-xquery-assertions.html#1-the-xpath-match-assertion

http://www.soapui.org/Functional-Testing/working-with-properties.html

http://www.soapui.org/Functional-Testing/transferring-property-values.html