QTP-读写外部文本文件

上一篇 / 下一篇  2014-01-09 11:18:11 / 个人分类:QTP自动化测试相关

在实际的项目中,很多Data都是保存在外部文件中,因此,我们就需要对外部文件的内容进行读写。常见的是文本文档(.txt),excel,数据库等。

本篇先介绍下对文本文档的读取。当然,在实际项目中,最常见的就是往.txt文档写日志文件,简单的读写弄懂之后,写日志文件同样可以举一反三。

对于文本文件的读写,首先需要创建一个文本对象,然后再打开需要读写的文件:

Set fso = CreateObject("Scripting.FileSystemObject")

Set penfile=fso.OpenTextFile("C:/Users/luyime/Desktop/1.txt",1,true),其中1表示对文件只读,true表示如果当前目录下不存在1.txt文件则创建一个。

在OpenTextFile方法中,我们通过对参数的控制,来实现对文件的只读(参数值为1)、只写(2)或追加(8);当然为了增加代码的可读性,在代码开始,我们可以将参数值保存在常量中:

Const ForReading=1,ForWriting=2,ForAppending=8

现在分别举例说明

首先,读取文件:

如下的”text.txt”中每个字符串以一个制表符分隔,我们需要打印出”text.txt”下的每个字符串,

代码如下:

Const ForReading=1,ForWriting=2,ForAppending=8

Set fso = CreateObject("Scripting.FileSystemObject")

Set penfile=fso.OpenTextFile("C:/Users/luyime/Desktop/text.txt",ForReading,True)

Do          Until openfile.AtEndOfStream

                str=openfile.ReadLine

                a=Split(str,"        ",-1,1)

                For i=0 to Ubound(a)

                                 Msgbox a(i)                                      

                 Next    

Loop

openfile.Close

Set fso=Nothing

其次,对文件写操作,这个比较简单

Const ForReading=1,ForWriting=2,ForAppending=8

Set fso = CreateObject("Scripting.FileSystemObject")

set penfile=fso.OpenTextFile("C:/Users/luyime/Desktop/1.txt",ForWriting,true)

For i=1 to 4

                openfile.WriteLine("hello")

                openfile.WriteBlankLines(1)

Next

openfile.Close

Set fso=nothing

这样就实现了对"1.txt"的写操作,我们将hello和空行写入了1.txt文件,效果如下

最后一个,就是对文件内容的追加。这个的意思就是不破坏原有文件的内容,在该文件的末尾写入内容。比如我们要实现对”1.txt”追加一行”hello world”,如下代码就可以实现了。

Const ForReading=1,ForWriting=2,ForAppending=8

Set fso = CreateObject("Scripting.FileSystemObject")

set penfile=fso.OpenTextFile("C:/Users/luyime/Desktop/1.txt",ForAppending,true)

openfile.Write("hello world")

openfile.Close

Set fso=nothing

效果如下:


TAG:

 

评分:0

我来说两句

Open Toolbar