2012-07-25 19 views
0

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


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

+0

对不起,迟到的答复。这听起来像是会起作用的。有没有其他地方可以提供会话ID?另一个肥皂要求?你可以从后端系统抓取它(使用jdbc步骤)吗? – 2012-08-19 01:51:31

回答

1

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

  • 全球 - 全球上市
  • 项目 - 可用于所有项目中可用整个套件的测试用例可用
  • TestCase-
  • TestSuite-

您需要使用财产转移到项目级别的属性,所以在项目级别添加一个自定义属性,然后使用属性转移到您创建的属性。使用xpath来提取你需要的数据。最后,您需要在新请求中使用该项目属性$ {#项目#属性名称}

将soapUI放在一起的所有工具都可以从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

相关问题