SilkTest武林外史之1-Data Driven Test向导

SilkTest 提供了建立 Data Driven 测试用例的向导,它可以帮助测试工程师快速地建立 DDT 的 case 。该向导的有点就是简单易用,对于那些数据量不大,只是需要经常更新测试数据的 case 来说非常有用。它的缺点是,无法提供类似 DB Tester 那样的强大功能,灵活性欠佳。
下面就让我们来一步步建立一个 DDT 的 test case 。
首先,你需要建立一个存放数据的 Excel 文件,在 sheet1 里面,第一行的两个 column 分别输入 id , name 。第二行对应地输入 1 , SilkTest 。保存该 Excel 文件为 c:/user.xls 。
接下来你需要将该 excel 文件设置为数据源,以便 SilkTest 能访问到其中的内容。通过控制面板 – 管理员工具 – 数据源( ODBC )打开 ODBC 数据源管理窗口,选择用户 DSN 页,然后点击 ADD 按钮添加一个 Microsoft Excel Driver(*.xls) 。在弹出的设置窗口中输入数据源名,比如“ Test1 ”,然后通过选择工作簿来选择刚才我们保存在 c 盘的 user.xls 文件,然后点击确定,点击 ODBC 数据源管理窗口上的应用和确定。这样,我们的数据源就设置好了。
打开 SilkTest ,我用的版本比较老啦,是 6.5 版本的,高版本应该操作相似。新建一个项目,就叫 DDT 好了,然后通过 workflow 菜单选中 Data Driven ,这样 Data Driven workflow 工具栏就会出现。然后,你先新建一个 test1.t 的脚本,在其中添加一个 testcase 名为 test1 ,在脚本中点击鼠标右键选择“ data driven testcase ”,在弹出的窗口中选择我们刚新建的 test1 测试用例,下一步, silktest 会让你指定 data driven 脚本,你就使用系统自动指定的那个脚本即可,在这里是 test1.g.t ,然后点击确定。接下来 Silktest 会让你选择数据源,这时,我们选择刚刚新建的数据源 Test1 ,然后点击确定。系统又会让你指定 Data driven 的测试用例名,好,我们还是用 silkTest 帮我们指定好的 DD_test1 即可,点击确定。接下来, SilkTest 就帮我们新建了一个 test1.g.t 的脚本文件,并且将它自动添加到了项目中。我们先关闭紧接着弹出来的 Find/Replace Values 窗口,然后可以看到新的脚本被自动加入了一些代码如下:
[-] // *** DATA DRIVEN ASSISTANT Section (!! DO NOT REMOVE !!) ***
[ ] use “datadrivetc.inc”
[ ] use “test1.t”
[ ]
[ ] // *** DSN ***
[ ] STRING gsDSNConnect = “DSN=Test1;UID=;WD=;”
[ ]
[ ] // *** Global record for each testcase ***
[ ]
[ ] type REC_DATALIST_DD_test1 is record
[ ]
[ ] // *** Global record for each Table ***
[ ]
[ ] // *** Global record containing sample data for each table ***
[ ] // *** Used when running a testcase with ‘Use Sample Data from Script’ checked ***
[ ]
[ ] // *** End of DATA DRIVEN ASSISTANT Section ***
[ ]
[-] testcase DD_test1 (REC_DATALIST_DD_test1 rData)
[ ]

我们先不管它,在自动生成的 DD_test1 用例中添加简单的两行。
String name
name = str
print(name)
然后右击鼠标,取消“ validate replacements ”,然后用鼠标选中整个 str 字符串,右击鼠标,选择 find/replace valuses ,在弹出的对话框中,将 column 下来框选中 name ,然后选择 replace 。这时系统又会帮你生成一堆代码,现在这个脚本的内容会大致如下:

[ ]
[-] // *** DATA DRIVEN ASSISTANT Section (!! DO NOT REMOVE !!) ***
[ ] use “datadrivetc.inc”
[ ] use “test1.t”
[ ]
[ ] // *** DSN ***
[ ] STRING gsDSNConnect = “DSN=Test1;UID= ; PWD= ;”
[ ]
[ ] // *** Global record for each testcase ***
[ ]
[-] type REC_DATALIST_DD_test1 is record
[ ] REC_Sheet1_ recSheet1_  //Sheet1$,
[ ]
[ ] // *** Global record for each Table ***
[ ]
[-] type REC_Sheet1_ is record
[ ] REAL id  //id,
[ ] STRING name  //name,
[ ]
[ ] // *** Global record containing sample data for each table ***
[ ] // *** Used when running a testcase with ‘Use Sample Data from Script’ checked ***
[ ]
[-] REC_Sheet1_ grTest_Sheet1_ = {…}
[ ] NULL // id
[ ] str // name
[ ]
[ ] // *** End of DATA DRIVEN ASSISTANT Section ***
[ ]
[-] testcase DD_test1 (REC_DATALIST_DD_test1 rData)
[ ] string name
[ ] name = rData.recSheet1_.name
[ ] print(name)

[ ]

Leave a comment

请输入正确的验证码