什么是数据驱动测试?
简而言之,数据驱动测试是指将测试数据(输入,预期输出等)存储在某些外部存储(数据库,电子表格,xml文件等)中,然后在运行它们时在测试中迭代使用这些数据。例如,为了测试您的电话查询服务,您可能在数据库中有一个名称列表和预期的电话号码,您可以使用该列表来“驱动”测试,检查每个名称是否能返回正确的电话号码。
废话少说,操作走起:
1、.创建数据源
好吧,让它变得简单,让您掌握一切;创建一个空的SoapUI项目并导入wsdl获得的公开可用的接口的参数内容,关于wsdl的内容,请查看上面第6、7两篇文章,然后添加TestSuite和TestCase并打开其编辑器:
现在添加一个DataSource TestStep并从工具栏的下拉列表中选择Grid DataSource,它是一个数据源,用于从SoapUI内部管理测试数据而无需任何外部存储。您现在应该拥有:
现在,您需要定义DataSource应该保存哪些数据。将三个属性添加到您的数据源中:发件人,收件人和费率(使用左侧属性列表顶部工具栏中的添加按钮)。
如您所见,无论何时添加属性,右侧的Grid编辑器都会添加另一个对应的列,因此,现在您可以在三列中添加一些测试数据。添加以下数据:
SEK,DKK,1.1
USD,EUR,0.6
CAD,NOK,0.7
在编辑器中设置好要输入到测试中的测试数据,继续进行。
2、创建测试步骤
现在,您需要向TestCase添加一个测试请求,以用于测试Web服务。在TestCase编辑器中按SOAP
Request按钮,然后在接口中选择ConversionRate操作。
在所有对话框中按确定。SOAP请求步骤将添加到TestCase中,并打开请求的编辑器。切换到表单编辑器(如果尚不存在),然后从两个字段的弹出菜单中切换。
在数据源中选择相应的属性。SoapUI将在“表单字段”中自动创建相应的属性扩展语法(此处为清晰起见,在大纲视图中显示)。
现在,您已经设置了使用数据源中的数据的请求,下一步是还为响应创建一个断言,以检查您是否正在获取预期的响应。打开“ 请求”编辑器底部的“ 断言”选项卡,然后使用其工具栏中的“ 添加”按钮添加XPath Match断言。
在打开的XPath声明编辑器中,按“ 选择XPath”按钮(左上角)以打开“ XPath向导”。由于没有可供选择的响应,因此SoapUI会提示您使用默认响应。这样做,然后在弹出窗口中选择ConversionRateResult元素。
最后,使用“ 选择内容”按钮(右下)在数据源中选择“费率”属性。XPath断言现在应该配置如下:
指向<myElement>Some Text </ myElement>的XPath查询将返回Some Text,而指向空元素<myElement
/>的查询将返回<myElement/>。要在空元素上返回空字符串,请像这样围绕XPath查询:concat(// my:XPath / query [1])。
3、添加数据源循环
现在,请求使用数据源中的“收件人”和“发件人”属性,而断言使用“比率”。现在所缺少的只是TestCase末尾的DataSource循环,该循环返回到DataSource中每一行的请求。从TestCase工具栏添加一个DataSource Loop步骤,双击它并将其配置为循环回到DataSource中每一行的Request。
现在运行TestCase:
您在请求的第一次运行中从断言中得到一个错误。您的预期汇率不是网络服务返回的汇率。双击TestCase日志中的“失败的TestStep”(这将打开消息查看器),然后选择“响应”选项卡以查看实际返回的内容。
OK,现在就完成了一个简单的数据驱动测试了,如果有需要,也可以将数据迁移到excel文件中,然后在SoapUI中导入数据进行循环测试即可。
【原创文章 转载请标注此出处】
网友评论