在测试用例中添加步骤DataSource,如下图
配置DataSource数据来源,如下图选择数据来源为“Excel”并填写EXCEL数据的相关信息
可选择绝对路径,excel保存到project同级目录下
选择项目-->Project Properties-->Resource Root:选择${ProjectDir}-->用${ProjectDir}替换掉固定的项目存放目录就可以了,这样会比较灵活
在DataSource中添加参数,相对应EXCEL有几个就添加几个参数,一一对应,如下图所示
运行DataSource取得Excel中的参数值,如下图所示,取两9行数据
导入的数据中,设置取第N行到第N行的数据,索引从0开始的
配置好DataSource好,就可以在接口中进行参数化了,如下图所示,测试用例中打开“下发无承运商的订单”选择要参数化的地方 > 右键选择“Get Data..” > 选择刚才配置的DataSource > 再选择对应的参数。
配置好后变成如下所示,也可手写
使用DataSource Loop循环取值
配置DataSource Loop
配置好DataSource Loop后还需要调整一下步骤顺序,正确的步骤应当是“数据源---请求----数据源循环”
然后运行TestCase
可以设置TestCase的属性,使得在当前循环不通过时,跳到下一个循环(循环执行的时候这个比较重要)。如下图,打开TestCase option窗口,去掉“Abort test if an error occurs”的构选
PS:soapui 4.5.1版本不能识别excel2007版本,可识别2003版本,否则会报unable to recogize OLE stream
需解决的问题:
1.新增多个DataSource,让不同的测试用例调用,其中一个选择后,不会填充到输入框中,而且手写也没用
解决:莫名其妙的再设置一次又好了,神奇~
2.多个测试用例,用同一份DataSource中的不同列的数据,excel中若每列的行数不一样,例如:
运行时,调用的第二列字段,会循环取TEST1705230001~TEST1705230005+4行空格。如何能跳过空格?