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

系统 1459 0

《教你用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对话框。

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

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

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

以下是引用片段:
<soapenv:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:soap="http://soap.rpc.jira.atlassian.com">
   <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 xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
   <soapenv:Body>
      <ns1:loginResponse soapenv:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" xmlns:ns1="http://soap.rpc.jira.atlassian.com">
         <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添加断言的按钮。

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


更多文章、技术交流、商务合作、联系博主

微信扫码或搜索:z360901061

微信扫一扫加我为好友

QQ号联系: 360901061

您的支持是博主写作最大的动力,如果您喜欢我的文章,感觉我的文章对您有帮助,请用微信扫描下面二维码支持博主2元、5元、10元、20元等您想捐的金额吧,狠狠点击下面给点支持吧,站长非常感激您!手机微信长按不能支付解决办法:请将微信支付二维码保存到相册,切换到微信,然后点击微信右上角扫一扫功能,选择支付二维码完成支付。

【本文对您有帮助就好】

您的支持是博主写作最大的动力,如果您喜欢我的文章,感觉我的文章对您有帮助,请用微信扫描上面二维码支持博主2元、5元、10元、自定义金额等您想捐的金额吧,站长会非常 感谢您的哦!!!

发表我的评论
最新评论 总共0条评论