51Testing软件测试论坛

 找回密码
 (注-册)加入51Testing

QQ登录

只需一步,快速开始

微信登录,快人一步

手机号码,快捷登录

查看: 1907|回复: 3
打印 上一主题 下一主题

[原创] 参数导入脚本应该如何写?

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2012-2-6 11:29:28 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
比如有一个用例一是登陆,包括3个action,每个action都进行了参数化,导出参数化文件,生成名称为TEST1的excel文件;还有一个用例二是退出,包括2个action,同样进行了参数化,到处文件,生成名称为TEST2的excel文件。问题是我想使用同一个参数导入的脚本,把这两个excel文件中的数据分别导入到这两个用例中,这个参数导入的脚本应该咋写?我觉得关键就是判断excel文件路径。请各位高手指教。
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏
回复

使用道具 举报

该用户从未签到

2#
发表于 2012-2-7 09:57:08 | 只看该作者
回复 1# 开朗幽默

外部数据源实现参数化
利用外部数据驱动脚本的运行,这是经常用到的方法,这样可以很方便的组织测试数据。相对前三种方法,这种方式数据的读取、控制稍有些麻烦。下面以常见的几种方式进行说明。
a、数据文件以excel格式组织
用Excel组织测试数据是最常用的了。此种驱动可以采用两种方式,将数据Import到DataTab中或是利用com来操纵Excel文件。下面给出这两种方式的示例代码。(输入flight用户名和密码)
方式一、导入到DataTable中
'获得数据文件路径,并将数据文件导入到DataTable运行表中
DataStr= "d:\data.xls"
DataTable.AddSheet("TestData")
DataTable.ImportSheet  DataStr,"Sheet1","TestData"
wait 1
      '输入用户名和密码
For i=1 to DataTable.GetSheet("TestData").GetRowCount
  systemutil.Run "D:\Program Files\QuickTest Professional\samples\flight\app\flight4b.exe"
DataTable.SetCurrentRow i  '把i设置为当前执行行
UserName=DataTable.Value("UserName","TestData")
PassWord=DataTable.Value("assWord","TestData")
Dialog("Login").WinEdit("Agent Name:").Set UserName
Dialog("Login").WinEdit("assword:").SetSecure  PassWord
wait 1
Dialog("Login").WinButton("Cancel").Click
Next
方式二、利用com操纵Excel
DataStr= "d:\data.xls"
Set ExlObj=CreateObject("Excel.Application")
ExlObj.Visible = false' 设置为true的情况,文档会打开
ExlObj.DisplayAlerts = false
Set book=ExlObj.Workbooks.Open(DataStr)
Set sheet=book.Worksheets("Sheet1")
For i=2 to sheet.usedrange.rows.count
  systemutil.Run "D:\Program Files\QuickTest Professional\samples\flight\app\flight4b.exe"
  UserName=ExlObj.WorkSheets("Sheet1").Cells(i,1)  '或者UserName=sheet.Cells(i,1)
  PassWord=ExlObj.WorkSheets("Sheet1").Cells(i,2)  '或者PassWord=sheet.Cells(i,2)
  Dialog("Login").WinEdit("Agent Name:").Set UserName
  Dialog("Login").WinEdit("assword:").SetSecure PassWord
  wait 2
  Dialog("Login").WinButton("Cancel").Click
Next
ExlObj.Quit
Set ExlObj = nothing
    希望可以帮到你。
回复 支持 反对

使用道具 举报

该用户从未签到

3#
 楼主| 发表于 2012-2-8 17:03:29 | 只看该作者
这样也还是要在脚本中输入数据文件的路径,有没有办法不输入路径来找到文件呢?
回复 支持 反对

使用道具 举报

该用户从未签到

4#
发表于 2012-2-22 17:29:06 | 只看该作者
学习了
回复 支持 反对

使用道具 举报

本版积分规则

关闭

站长推荐上一条 /1 下一条

小黑屋|手机版|Archiver|51Testing软件测试网 ( 沪ICP备05003035号 关于我们

GMT+8, 2024-10-3 00:22 , Processed in 1.360279 second(s), 27 queries .

Powered by Discuz! X3.2

© 2001-2024 Comsenz Inc.

快速回复 返回顶部 返回列表