File System Operations in QTP

    1
    152
    Spread the love
    • 1
    •  
    •  
    •  
    •  
    •  
    •  
    •  
    •  
    •  
      1
      Share

    

    File System Object Model:

    The File System Object (FSO) model provides an object-based tool for working with folders and files. It allows us to use the familiar object. method syntax with a rich set of properties, methods, and events to process folders and files. We can also employ the traditional Visual Basic statements and commands.

    The FSO model gives our application the ability to create, alter, move, and delete folders, or to determine if and where particular folders exist. It also enables us to get information about folders, such as their names and the date they were created or last modified.
    The FSO model makes processing files much easier as well. When processing files, our primary goal is to store data in an efficient, easy-to-access format. We need to be able to create files, insert and change the data, and output (read) the data. Although we can store data in a database, doing so adds a significant amount of overhead to our application. We may not want to have such overhead, or our data access requirements may not call for the extra functionality associated with a full-featured database. In this case, storing our data in a text file or binary file is the most efficient solution.The FSO model, contained in the Scripting type library (Scrrun.dll), supports the creation and manipulation of text files through the TextStream object; however, the FSO model does not support binary files. To manipulate binary files, use the FileOpen Function with the Binary keyword.
    Examples

    1) Create a Folder

    Option Explicit
    Dim objFSO, objFolder, strDirectory
    strDirectory = “D:Test”
    Set objFSO = CreateObject(“Scripting.FileSystemObject”)
    Set objFolder = objFSO.CreateFolder(strDirectory)

    2) Delete a Folder

    Set oFSO = CreateObject(“Scripting.FileSystemObject”)
    oFSO.DeleteFolder(“D:Test”)

    3) Copying Folders

    Set oFSO=createobject(“Scripting.Filesystemobject”)
    oFSO.CopyFolder “D:test”, “C:test”, True4) Checking weather the folder available or not, if not creating the folder

    Option Explicit
    Dim objFSO, objFolder, strDirectory
    strDirectory = “D:test”
    Set objFSO = CreateObject(“Scripting.FileSystemObject”)
    If objFSO.FolderExists(strDirectory) Then
    Set objFolder = objFSO.GetFolder(strDirectory)
    msgbox strDirectory & ” already created ”
    else
    Set objFolder = objFSO.CreateFolder(strDirectory)
    end if

    5) Returning a collection of Disk Drives

    Set oFSO = CreateObject(“Scripting.FileSystemObject”)
    Set colDrives = oFSO.Drives
    For Each oDrive in colDrives
    MsgBox “Drive letter: ” & oDrive.DriveLetter
    Next

    6) Getting available space on a Disk Drive

    Set oFSO = CreateObject(“Scripting.FileSystemObject”)
    Set oDrive = oFSO.GetDrive(“C:”)
    MsgBox “Available space: ” & oDrive.AvailableSpace
    7) Creating a Flat File

    Set objFSO = CreateObject(“Scripting.FileSystemObject”)
    Set objFile = objFSO.CreateTextFile(“E:test.txt”)

    8) Checking weather the File is available or not, if not creating the File

    strDirectory=”E:”
    strFile=”D:test.txt”
    Set objFSO = CreateObject(“Scripting.FileSystemObject”)
    If objFSO.FileExists(strDirectory & strFile) Then
    Set objFolder = objFSO.GetFolder(strDirectory)
    Else
    Set objFile = objFSO.CreateTextFile(“D:test.txt”)
    End if

    9) Reading Data character by character from a Flat File

    Set objFSO = CreateObject(“Scripting.FileSystemObject”)
    Set objFile = objFSO.OpenTextFile(“D:test.txt”, 1)
    Do Until objFile.AtEndOfStream
    strCharacters = objFile.Read(1)
    msgbox strCharacters
    Loop

    10) Reading Data line by line from a Flat File

    Set objFSO = CreateObject(“Scripting.FileSystemObject”)
    Set objFile = objFSO.OpenTextFile(“D:test.txt”, 1)
    Do Until objFile.AtEndOfStream
    strCharacters = objFile.Readline
    msgbox strCharacters
    Loop

    11) Reading data from a flat file and using in data driven testing

    Dim fso,myfile
    Set fso=createobject(“scripting.filesystemobject”)
    Set myfile= fso.opentextfile (“D:test.txt”,1)
    myfile.skipline
    While myfile.atendofline <> True
    x=myfile.readline
    s=split (x, “,”)

    SystemUtil.Run “C:Program FilesMercury InteractiveQuickTest Professionalsamplesflightappflight4a.exe”,””,”C:Program FilesMercury InteractiveQuickTest Professionalsamplesflightapp”,”open”
    Dialog(“Login”).Activate
    Dialog(“Login”).WinEdit(“Agent Name:”).Set s(0)
    Dialog(“Login”).WinEdit(“Password:”).SetSecure s(1)
    Dialog(“Login”).WinButton(“OK”).Click
    Window(“Flight Reservation”).Close
    Wend

    12) Writing data to a text file

    Dim Stuff, myFSO, WriteStuff, dateStamp
    dateStamp = Date()
    Stuff = “I am Preparing this script: ” &dateStamp
    Set myFSO = CreateObject(“Scripting.FileSystemObject”)
    Set WriteStuff = myFSO.OpenTextFile(“D:test.txt”, 8, True)
    WriteStuff.WriteLine(Stuff)
    WriteStuff.Close
    SET WriteStuff = NOTHING
    SET myFSO = NOTHING

    13) Delete a text file

    Set objFSO=createobject(“Scripting.filesystemobject”)
    Set txtFilepath = objFSO.GetFile(“D:test.txt”)
    txtFilepath.Delete()

    14) Checking weather the File is available or not, if available delete the File

    strDirectory=”D:”
    strFile=”test.txt ”
    Set objFSO = CreateObject(“Scripting.FileSystemObject”)
    If objFSO.FileExists(strDirectory & strFile) Then
    Set objFile = objFSO.Getfile(strDirectory & strFile)
    objFile.delete ()
    End if

    15) Comparing two text files

    Dim f1, f2
    f1=”D:test1.txt”
    f2=” D:test.txt ”
    Public Function CompareFiles (FilePath1, FilePath2)
    Dim FS, File1, File2
    Set FS = CreateObject(“Scripting.FileSystemObject”)
    If FS.GetFile(FilePath1).Size <> FS.GetFile(FilePath2).Size Then
    CompareFiles = True
    Exit Function
    End If
    Set File1 = FS.GetFile(FilePath1).OpenAsTextStream(1, 0)
    Set File2 = FS.GetFile(FilePath2).OpenAsTextStream(1, 0)
    CompareFiles = False
    Do While File1.AtEndOfStream = False
    Str1 = File1.Read
    Str2 = File2.Read
    CompareFiles = StrComp(Str1, Str2, 0)
    If CompareFiles <> 0 Then
    CompareFiles = True
    Exit Do
    End If
    Loop
    File1.Close()
    File2.Close()
    End Function
    Call Comparefiles(f1,f2)
    If CompareFiles(f1, f2) = False Then
    MsgBox “Files are identical.”
    Else
    MsgBox “Files are different.”
    End If

    16) Counting the number of times a word appears in a file

    sFileName=”D:test.txt”
    sString=”I am Great”
    Const FOR_READING = 1
    Dim oFso, oTxtFile, sReadTxt, oRegEx, oMatches
    Set oFso = CreateObject(“Scripting.FileSystemObject”)
    Set oTxtFile = oFso.OpenTextFile(sFileName, FOR_READING)
    sReadTxt = oTxtFile.ReadAll
    Set oRegEx = New RegExp
    oRegEx.Pattern = sString
    oRegEx.IgnoreCase = bIgnoreCase
    oRegEx.Global = True
    Set oMatches = oRegEx.Execute(sReadTxt)
    MatchesFound = oMatches.Count
    Set oTxtFile = Nothing : Set oFso = Nothing : Set oRegEx = Nothing
    msgbox MatchesFound

    17) Read a CSV File Using Database Techniques

    On Error Resume Next

    Const adOpenStatic = 3
    Const adLockOptimistic = 3
    Const adCmdText = &H0001

    Set objConnection = CreateObject(“ADODB.Connection”)
    Set objRecordSet = CreateObject(“ADODB.Recordset”)

    strPathtoTextFile = “C:Databases”

    objConnection.Open “Provider=Microsoft.Jet.OLEDB.4.0;” & _
              “Data Source=” & strPathtoTextFile & “;” & _
              “Extended Properties=””text;HDR=YES;FMT=Delimited”””

    objRecordset.Open “SELECT * FROM PhoneList.csv”, _
              objConnection, adOpenStatic, adLockOptimistic, adCmdText

    Do Until objRecordset.EOF
        Wscript.Echo “Name: ” & objRecordset.Fields.Item(“Name”)
        Wscript.Echo “Department: ” & _
            objRecordset.Fields.Item(“Department”)
        Wscript.Echo “Extension: ” & objRecordset.Fields.Item(“Extension”)  
        objRecordset.MoveNext
    Loop

    18) Read a Text File into an Array

    Const ForReading = 1

    Set objFSO = CreateObject(“Scripting.FileSystemObject”)
    Set objTextFile = objFSO.OpenTextFile _
        (“D:test.txt”, ForReading)

    Do Until objTextFile.AtEndOfStream
        strNextLine = objTextFile.Readline
        arrServiceList = Split(strNextLine , “,”)
        Wscript.Echo “Server name: ” & arrServiceList(0)
        For i = 1 to Ubound(arrServiceList)
            Wscript.Echo “Service: ” & arrServiceList(i)
        Next
    Loop

    Don't miss out!
    Subscribe To Newsletter

    Receive top technical news, lesson ideas, travel tips and more!

    Invalid email address
    Give it a try. You can unsubscribe at any time.

    Spread the love
    • 1
    •  
    •  
    •  
    •  
    •  
    •  
    •  
    •  
    •  
      1
      Share

    1 COMMENT

    1. Hi Animesh,
      I have recorded the script and then start run option from QTP. I have designed so that during running it will open an input box and will ask you to enter your name,after entering your name it will show your name in a popup,and i have to click ok button manually,is there any way so that OK button will be pressed automatically.

    LEAVE A REPLY

    Please enter your comment!
    Please enter your name here