51Testing软件测试论坛

标题: qtp是如何调用外部文件的 [打印本页]

作者: qiqin    时间: 2010-9-9 14:29
标题: qtp是如何调用外部文件的
接触QTP已经有一段时间了,近几天主要在研究QTP的编程问题。在这里想问一下:QTP是怎样调用外部文件的,如:*.txt,或者*.xls。
这里我参照了一些资料,写了一个程序,但是不是很清楚在QTP中是如何调用它的,麻烦大家帮忙解答一下。
这里以*.txt为例子,该文件中我放着一个登陆账号,形式如:aaa,aaa
Function writeorderno(orderno)
Dim fso, myfile,username,passwd
Set fso=CreateObject("scrīpting.FileSystemObject")'包含在 Scripting 类型库 (Scrrun.dll) 中的 FSO 对象模型,支持通过 TextStream 对象来创建和操作文本文件
Set myfile=fso.openTextFile("E:\testscript\QTP\parameter_deepen\transfer_data.txt",1,false)
'打开指定的文件并返回一个 TextStream 对象,可以通过这个对象对文件进行读、写或追加。"1"是指以只读方式打开文件。false是指不创建新文件
tmp=split(myfile.readline,",")'将一个字符串分割为子字符串,然后将结果作为字符串数组返回。ReadLine 方法返回一个字符串
username=tmp(0)
passwd=tmp(1)
myfile.close
End Function
---------------------下面是我参数化登陆账号的代码,我的目的是想通过调用外部文件的多个登陆账号,参数化实现模拟多用户的登陆,
同时想让文件中的内容显示在datatable中。不知道在QTP中是如何应用外部文件??????
DataTable.value("username","global")=username '这个username变量应该是上面获取到的值
DataTable.value("password","global")=passwd   '这个passwd变量应该是获取到的密码值
Browser("Welcome: Mercury Tours").Page("Welcome: Mercury Tours").WebEdit("userName").Set DataTable("username", "Global")
Browser("Welcome: Mercury Tours").Page("Welcome: Mercury Tours").WebEdit("password").SetSecure DataTable("password", "Global")
'Browser("Welcome: Mercury Tours").Page("Welcome: Mercury Tours").WebEdit("password").SetSecure "47e4ac6069f986deb07938028cc9adf70cb750cc"
Browser("Welcome: Mercury Tours").Page("Welcome: Mercury Tours").Image("Sign-In").Click 30,5
Browser("Welcome: Mercury Tours").Page("Find a Flight: Mercury").Image("findFlights").Click 67,8
Browser("Welcome: Mercury Tours").Page("Select a Flight: Mercury").Sync
Browser("Welcome: Mercury Tours").Close
作者: skyzhu    时间: 2010-9-9 14:59
你不是都做的差不多了么?
密码用set 就行了,SetSecure是需要做加密处理的
作者: TIB    时间: 2010-9-11 15:15
文本文件一般通过FileSystemObject对象来访问,Excel数据可以通过COM接口访问也可以作为数据库通过ADO访问
作者: kavensyw    时间: 2010-9-11 19:13
其实不能说是QTP调用,应该是QTP支持通过VBS调用外部对象
QTP本身自己做的主要事情是对象识别,也就是把不同的对象,用自己的方法和属性重新包装后让你来调用
所以QTP识别需要各种不同的插件,因为不同插件包装手段不一样
当然DataTable、场景恢复等也是QTP自己的特色功能。
其他的我感觉都是VBS的功能,可以调用ado、fso、COM等来帮助处理

以上是我的一点愚见,不知道理解的对不对

[ 本帖最后由 kavensyw 于 2010-9-11 19:25 编辑 ]
作者: sterson    时间: 2010-9-12 11:47
呵呵,楼主既然实现数据从外部文件读,为何还在写到datatable里呢?
另外可以将数据放到excel里,而不是txt文本里,这样好维护些
作者: archonwang    时间: 2010-9-28 15:10
同意4楼的说法。

其实不能说是QTP调用,应该是QTP支持通过VBS调用外部对象
QTP本身自己做的主要事情是对象识别,也就是把不 ...
kavensyw 发表于 2010-9-11 19:13

作者: hotsmile99    时间: 2011-6-28 17:49
我问一个在深圳工作了20年的朋友:“如果你死后,你的墓志铭打算写点啥?”他说:“我希望我的生活没有Bug!”
作者: hotsmile99    时间: 2011-6-28 17:49
我问一个在深圳工作了20年的朋友:“如果你死后,你的墓志铭打算写点啥?”他说:“我希望我的生活没有Bug!”




欢迎光临 51Testing软件测试论坛 (http://bbs.51testing.com/) Powered by Discuz! X3.2