原来的脚本如下:
If not (fileSystemObj.FileExists(fileName)) Then
Set logFile = fileSystemObj.CreateTextFile(fileName, True)
End If
Set logFile = fileSystemObj.OpenTextFile(fileName, ForAppending , True,TristateUseDefault)
当QTP执行的时候总是提示五权限写入文件,最开始在这样写的目的是当发现文件不存在时,先创建一个一个该文件,然后在打开。实际上如果这样操作,CreateTextFile()函数还没有释放对文件的使用,当再次执行OpenTextFile()时就会发生写入冲突的问题。
解决方法有两个:
方法一, OpenTextFile()函数本身提供了当发现打开的文件不存在时是否创建的参数:
Set logFile = fileSystemObj.OpenTextFile(fileName, ForAppending , True,TristateUseDefault)
方法二,CreateTextFile()创建文件完毕,使用close()方法关闭对于文件的使用:
If not (fileSystemObj.FileExists(fileName)) Then
Set logFile = fileSystemObj.CreateTextFile(fileName, True)
logFile.Close()
End If
Set logFile = fileSystemObj.OpenTextFile(fileName, ForAppending , True,TristateUseDefault)