教你用soapUI测试web服务(二)

日期: 2011-11-13 作者:Mike Kelly翻译:杨华军 来源:TechTarget中国 英文

在《教你用soapUI测试web服务(一)》中我们介绍了如何创建第一个soapUI项目,下面我们来介绍如何编写和执行测试用例。   编写并执行测试用例   浏览和交互当然好,但是我在想你可能想要运行一些测试。要想做到这一点,你将需要创建一个TestSuite。可通过右键点击项目然后选择New TestSuite,如图5所示。

图 5:在soapUI中创建一个新的TestSuite。   第五步:在soapUI中创建一个新的TestSuite。   这一步应该会打开一个New TestSuite对话框,如图6所示。然后输入你的测试包的名字。

记住,对于大多数项目来说都是需要多个测试包的,因此起描述……

我们一直都在努力坚持原创.......请不要一声不吭,就悄悄拿走。

我原创,你原创,我们的内容世界才会更加精彩!

【所有原创内容版权均属TechTarget,欢迎大家转发分享。但未经授权,严禁任何媒体(平面媒体、网络媒体、自媒体等)以及微信公众号复制、转载、摘编或以其他方式进行使用。】

微信公众号

TechTarget微信公众号二维码

TechTarget

官方微博

TechTarget中国官方微博二维码

TechTarget中国

《教你用soapUI测试web服务(一)》中我们介绍了如何创建第一个soapUI项目,下面我们来介绍如何编写和执行测试用例。

  编写并执行测试用例

  浏览和交互当然好,但是我在想你可能想要运行一些测试。要想做到这一点,你将需要创建一个TestSuite。可通过右键点击项目然后选择New TestSuite,如图5所示。

图 5:在soapUI中创建一个新的TestSuite。

图 5:在soapUI中创建一个新的TestSuite。

  第五步:在soapUI中创建一个新的TestSuite。

  这一步应该会打开一个New TestSuite对话框,如图6所示。然后输入你的测试包的名字。记住,对于大多数项目来说都是需要多个测试包的,因此起描述性的名字是帮助的。一旦完成,点击OK。

  第六步:在soapUI中给TestSuite命名。

  这会把你的TestSuite添加进左手边导航栏的项目树结构中去。它还会在主soapUI工作区打开你的TestSuite。

图6:在soapUI中给TestSuite命名。

图6:在soapUI中给TestSuite命名。

  在soapUI中TestSuite是由TestCase组成的。就我们的例子而言,我们将会建立一个简单的测试包,让我们登录到JIRA上面去,然后再退出。这是一个好例子,有几个理由。首先,它会向你展示如何在TestCase之间传递值,这是重要的,因为大部分我测试过的web服务都要这么做。其次,我们可以有机会在对JIRA了解不多的情况下看看一些基本的功能—像断言(assertion)。像登入和登出这些功能基本上属于不言自明的。

  要想添加我们的第一个TestCase,只需点击“Create a new TestCase in this test suite”按钮。你将会在TestSuite窗口发现它,如下图7所示。

图7:在TestSuite 窗口创建一个TestCase按钮。

图7:在TestSuite 窗口创建一个TestCase按钮。

  第七步:在TestSuite 窗口创建一个TestCase按钮。

  这一步会打开New TestCase对话框,然后你要在上面命名待创建的测试用例。看起来跟New TestSuite对话框是一样的。输入名字再点击OK。由于这一测试用例将会测试登录,我把这个TestCse命名为“Login”。

  当你点击OK的时候,有两件事情会发生。首先,你的TestCase会出现在TestSuite窗口,带有一个空白结果条,如下图8所示。这一结果条是白色的,因为你还没有运行测试。一旦运行了,如果运行失败该条会变成红色,否则变成绿色。

图8: 你的TestCase被添加进你的TestSuite。

图8: 你的TestCase被添加进你的TestSuite。

  第八步:你的TestCase被添加进你的TestSuite。

  其次,你也将会看到一个窗口为你刚才所创建的TestCase打开。在图9中,你将会看到我创建的Login TestCase的窗口。

图 9: Login 测试用例的TestCase窗口。

图 9: Login 测试用例的TestCase窗口。

  第九步:Login 测试用例的TestCase窗口。

  第三,如图10所示,在左手边的导航栏项目树中你将会看到新的TestCase列在你的TestSuite下面了。你还会看到TestCase相关的测试步骤数或加载测试的次数。

  第十步:TestCase添加到项目导航树。

  TestSuite是由TestCase组成的,与此十分类似的是,TestCase是由TestStep构成的。为了让我们的Login测试生效,我们需要添加TestStep。

图11:创建一个新的Test Request TestStep按钮。

图10:创建一个新的Test Request TestStep按钮。

图10:TestCase添加到项目导航树。

图11:TestCase添加到项目导航树。

  首先,我们要把login请求添加到JIRA web服务中去。点击TestCase 窗口中的“Create a new Test Request TestStep”按钮。该按钮如图11所示。

  第十一步:创建一个新的Test Request TestStep按钮。

  在Add Step对话框中,输入一个TestStep的名字然后点击OK。这会打开New TestRequest对话框,如图12所示。乡下滚动列表然后选择login请求。再点击OK。

图12:New TestRequest对话框。

图12:New TestRequest对话框。

  第十二步:New TestRequest对话框。

  这一步打开了Add Request to TestCase对话框,如图13所示。如果喜欢的话你还可以改变请求的名称,还可以选择一系列的备选断言。缺省情况下,SOAP Response Assertion会被预选上。就现在而言,这就可以了。只需点击OK。

图13: Add Request to TestCase对话框。

图13: Add Request to TestCase对话框。

  第十三步:Add Request to TestCase对话框。

  当你点击OK的时候,请求就会被添加到TestCase中去了,而刚才你所添加的请求的请求窗口就会打开。正如本文前面所述,你可以编辑值并手工运行这些测试。不过这一次无论你输入什么值都将会成为该测试用例保存的值。本例中,我会使用我的用户名和密码,如下表3所示。

  表3:带用户名和密码的Login请求。

以下是引用片段:
<soapenv:Envelope    >
   <soapenv:Header/>
   <soapenv:Body>
      <soap:login soapenv:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">
         <in0 xsi:type="xsd:string">mike.kelly</in0>
         <in1 xsi:type="xsd:string">password</in1>
      </soap:login>
   </soapenv:Body>
</soapenv:Envelope>

  如果人工运行该请求,所得的响应如下表4所示。

  表4:Login响应。

以下是引用片段:
<soapenv:Envelope   >
   <soapenv:Body>
      <ns1:loginResponse soapenv:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" >
         <loginReturn xsi:type="xsd:string">26lRGT7uX5</loginReturn>
      </ns1:loginResponse>
   </soapenv:Body>
</soapenv:Envelope>

  你会看到会话返回的结果是10个字符的字符串。你也许还注意到只要有TestStep图表出现的地方它的颜色都会从白色变为绿色。这是一个很好的可视化提示,告诉你该TestStep相应的断言通过了。

  目前,我们的TestStep唯一的断言是在创建TestStep的时候设置的。那个断言所做的事情就是确认我们的回应是一个合法的SOAP回应。尽管这很重要,但还不够。因此我们准备要添加另一个断言,用来确认我们得到的返回是一个10个字母的字符串。

  在请求窗口的底部,你会看到一个Assertions按钮。如果你点击它,它就会显示出当前相对应于TestStep的断言有哪些。如果你想跟我们一样添加另一个断言,那么就请点击Add Assertion按钮,如图14所示。

图14: 为TestStep添加断言的按钮。

图14: 为TestStep添加断言的按钮。

相关推荐

  • 教你用soapUI测试web服务(三)

    一旦追加了一个断言,首先出现的是Select Assertion对话框。有若干不同的断言可供选择,在本文中我们只看其中的一个。每种断言类型的更多细节请查看soapUI用户指南。

  • 教你用soapUI测试web服务(一)

    五六年前我测试了自己的第一个web服务。该服务是一个更大的系统重写的一部分。在这一阶段,我们用web服务集成了一个遗留主机应用和一个新的web平台。

  • 2010年度最佳技巧TOP 5

    2010年即将过去,在新的一年即将来临之际,我们总结了2010年最具影响力的技术文章,希望对大家有所帮助。

  • 使用soapUI软件工具治理WSDL

    最近几年软件发展得到很大牵引力,成为治理WSDL的有效方式。该软件是由GNU LGPL提供的建立在Java基础之上的SOAP测试工具。