VBScript Tutorial 7

VBScript Tutorial 7

(VBScript File System Operations Part-2)

6) Create a Text file

Note: File System Object is only used for Drives, Folders and Flat files.
We can create and delete other types of also, but we can’t perform internal operations like Reading, Writing etc…

Dim objFso
Set objFso = CreateObject(“Scripting.FileSystemObject”)

objFso.CreateTextFile “C:\Users\gcreddy\Desktop\QTP.txt”
objFso.CreateTextFile “C:\Users\gcreddy\Desktop\QTP.doc”
objFso.CreateTextFile “C:\Users\gcreddy\Desktop\QTP.xls”
objFso.CreateTextFile “C:\Users\gcreddy\Desktop\QTP.pdf”

Set objFso = Nothing

7) Delete a Text file

Dim objFso
Set objFso = CreateObject(“Scripting.FileSystemObject”)

objFso.DeleteFile “C:\Users\gcreddy\Desktop\QTP.txt”
objFso.DeleteFile “C:\Users\gcreddy\Desktop\QTP.doc”
objFso.DeleteFile “C:\Users\gcreddy\Desktop\QTP.xls”
objFso.DeleteFile “C:\Users\gcreddy\Desktop\QTP.pdf”

Set objFso = Nothing
———————————————–
External Operations

Create a Text file

Delete a Text file

Check existence of a File

Count size

etc…

Internal operations

Read
Read character by Character
Read Line by Line
Read All

Write
Write Continuously
Write Line by Line
Append

Compare
Compare two text files by Size (*External operation)
Compare two text files by Text
Compare two text files by Binary values.

Search operations
————————————————–
> using File System object we can perform External File operations

> Using Text stream object we can perform Internal operations.

> Using File System Object we can create Text stream object.

Create File System Object
Set Variable = CreateObject(“Scripting.FileSystemObject”)

Create Text Stream object

Set Variable = FileSystemObject.CreateTextFile / OpenTextFile(“File path”, File mode)

VBScript File System Operations in UFT

File Modes for Text files
————————-
i) 1 for Read

ii) 2 for Write

iii) 8 for Append
—————————-
Note: Read mode is default mode.

Examples:

8) Read a Text File Character by Character

Dim objFso, objTextstream, myChar
Set objFso = CreateObject(“Scripting.FileSystemObject”)
Set objTextstream = objFso.OpenTextFile(“C:\Users\gcreddy\Desktop\QTP.txt”)

Do While objTextstream.AtEndOfStream = False
myChar = objTextstream.Read(1)
Msgbox myChar
Loop
objTextstream.Close
Set objTextstream = Nothing
Set objFso = Nothing

9) Read a Text File Line by Line

Dim objFso, objTextstream, myLine
Set objFso = CreateObject(“Scripting.FileSystemObject”)
Set objTextstream = objFso.OpenTextFile(“C:\Users\gcreddy\Desktop\QTP.txt”)

Do While objTextstream.AtEndOfStream = False
myLine = objTextstream.ReadLine
Msgbox myLine
Loop
objTextstream.Close
Set objTextstream = Nothing
Set objFso = Nothing

10) Read a text file (read all)

Dim objFso, objTextstream, myContent
Set objFso = CreateObject(“Scripting.FileSystemObject”)
Set objTextstream = objFso.OpenTextFile(“C:\Users\gcreddy\Desktop\QTP.txt”)

Do While objTextstream.AtEndOfStream = False
myContent = objTextstream.ReadAll
Msgbox myContent
Loop
objTextstream.Close
Set objTextstream = Nothing
Set objFso = Nothing
——————————————
Dim objFso, objTextstream, myContent
Set objFso = CreateObject(“Scripting.FileSystemObject”)
Set objTextstream = objFso.OpenTextFile(“C:\Users\gcreddy\Desktop\UFT.txt”)

Do While objTextstream.AtEndOfStream = False
myContent = objTextstream.ReadAll
Print myContent
Loop
objTextstream.Close
Set objTextstream = Nothing
Set objFso = Nothing
————————————-
Note: Print command is not a Global VBScript command, it is only for UFT.

11) Read Test data from a text file and perform Data driven Testing for Login functionality.

Dim objFso, objTextstream, myLine, myField
Set objFso = CreateObject(“Scripting.FileSystemObject”)
Set objTextStream = objFso.OpenTextFile(“C:\Users\gcreddy\Desktop\testdata.txt”)

objTextStream.SkipLine ‘To skip the 1st line

Do Until objTextStream.AtEndOfStream
myLine = objTextStream.ReadLine
myField = Split(myLine, “, “)
SystemUtil.Run “C:\Program Files\HP\Unified Functional Testing\samples\flight\app\flight4a.exe”
Dialog(“Login”).Activate
Dialog(“Login”).WinEdit(“Agent Name:”).Set myField(0)
Dialog(“Login”).WinEdit(“Password:”).Set myField(1)
Wait 2
Dialog(“Login”).WinButton(“OK”).Click
Window(“Flight Reservation”).Close
Loop
objTextStream.Close
Set objTextStream = Nothing
Set objFso = Nothing

12) Read Test data (Range of Records, ex: 4 to 7 records) from a Text file and perform Data driven Testing for Login functionality.

Dim objFso, objTextstream, myLine, myField, LineCount
Set objFso = CreateObject(“Scripting.FileSystemObject”)
Set objTextStream = objFso.OpenTextFile(“C:\Users\gcreddy\Desktop\testdata.txt”)

LineCount = 0
Do Until objTextStream.AtEndOfStream
myLine = objTextStream.ReadLine
LineCount = LineCount + 1
If LineCount > 4 And LineCount < 9 Then
myField = Split(myLine, “, “)
SystemUtil.Run “C:\Program Files\HP\Unified Functional Testing\samples\flight\app\flight4a.exe”
Dialog(“Login”).Activate
Dialog(“Login”).WinEdit(“Agent Name:”).Set myField(0)
Dialog(“Login”).WinEdit(“Password:”).Set myField(1)
Wait 2
Dialog(“Login”).WinButton(“OK”).Click
Window(“Flight Reservation”).Close
End If
Loop
objTextStream.Close
Set objTextStream = Nothing
Set objFso = Nothing

13) Write data to a Text file

Dim objFso, objTextstream, num1, num2, result
num1 = 10 : num2 = 30 : result = num1 + num2
Set objFso = CreateObject(“Scripting.FileSystemObject”)
Set objTextStream = objFso.OpenTextFile(“C:\Users\gcreddy\Desktop\testdata.txt”, 2)

objTextStream.Write “Addition of num1, num2 is: ” & result

objTextstream.Close
Set objTextStream = Nothing
Set objFso = Nothing

14) Append data to a Text file

Dim objFso, objTextstream, num1, num2, result
num1 = 10 : num2 = 60 : result = num1 + num2
Set objFso = CreateObject(“Scripting.FileSystemObject”)
Set objTextStream = objFso.OpenTextFile(“C:\Users\gcreddy\Desktop\testdata.txt”, 8)

objTextStream.Write “Addition of num1, num2 is: ” & result

objTextstream.Close
Set objTextStream = Nothing
Set objFso = Nothing
——————————
Dim objFso, objTextstream, num1, num2, result
num1 = 10 : num2 = 80 : result = num1 + num2
Set objFso = CreateObject(“Scripting.FileSystemObject”)
Set objTextStream = objFso.OpenTextFile(“C:\Users\gcreddy\Desktop\testdata.txt”, 8)

objTextStream.WriteLine “Addition of num1, num2 is: ” & result

objTextstream.Close
Set objTextStream = Nothing
Set objFso = Nothing

15) Read Button Names from Login Dialog box and export to a Text file

Dim objFso, objTextstream, oButton, Buttons, i
Set objFso = CreateObject(“Scripting.FileSystemObject”)
Set objTextStream = objFso.OpenTextFile(“C:\Users\gcreddy\Desktop\testdata.txt”, 2)

Set oButton = Description.Create
oButton(“Class Name”).Value = “WinButton”

Set Buttons = Dialog(“Login”).ChildObjects(oButton)
‘Msgbox Buttons.count

objTextstream.WriteLine “button Names”
objTextstream.WriteLine “———”
For i = 0 To Buttons.count – 1 Step 1
objTextstream.WriteLine Buttons(i).GetRoProperty(“text”)
Next
objTextStream.Close
Set objTextStream = Nothing
Set objFso = Nothing

16) Read Link Names from Rediff home page and export to a text file

Dim objFso, objTextstream, oLink, Links, i, sno
Set objFso = CreateObject(“Scripting.FileSystemObject”)
Set objTextStream = objFso.OpenTextFile(“C:\Users\gcreddy\Desktop\testdata.txt”, 2)

Set oLink = Description.Create
oLink(“micclass”).Value = “Link”

Set Links = Browser(“Rediff.com: Online Shopping,”).Page(“Rediff.com: Online Shopping,”).ChildObjects(oLink)

objTextstream.WriteLine “Link Names”
sno = 0
For i = 0 To Links.count – 1 Step 1
sno = sno + 1
objTextstream.WriteLine sno& “) ” &Links(i).GetRoProperty(“text”)
Next
objTextStream.Close
Set objTextStream = Nothing
Set objFso = Nothing

17) Read Customer names from 1 to 10 Records and export to a Text file

Dim objFso, objTextstream, CustomerName
Set objFso = CreateObject(“Scripting.FileSystemObject”)
Set objTextStream = objFso.OpenTextFile(“C:\Users\gcreddy\Desktop\testdata.txt”, 2)

sno = 0
objtextstream.WriteLine “Customer Names”
For i = 1 To 10 Step 1
Window(“Flight Reservation”).Activate
Window(“Flight Reservation”).WinButton(“Button”).Click
Window(“Flight Reservation”).Dialog(“Open Order”).WinCheckBox(“Order No.”).Set “ON”
Window(“Flight Reservation”).Dialog(“Open Order”).WinEdit(“Edit”).Set i
Window(“Flight Reservation”).Dialog(“Open Order”).WinButton(“OK”).Click
CustomerName = Window(“Flight Reservation”).WinEdit(“Name:”).GetROProperty(“text”)
sno = sno + 1
objTextstream.WriteLine sno &”) ” & CustomerName
Next

objTextStream.Close
Set objTextStream = Nothing
Set objFso = Nothing

18) Compare two text file by Size, by Text and by Binary values.

Dim objFso, File1, File2, objTextstream1, objTextstream2, Read1, Read2
File1 = “C:\Users\gcreddy\Desktop\abc.txt”
File2 = “C:\Users\gcreddy\Desktop\xyz.txt”

Set objFso = CreateObject(“Scripting.FileSystemObject”)
‘Msgbox “File 1 Size is: ” & objFso.GetFile(File1).Size & ” Bytes”
‘Msgbox “File 2 Size is: ” & objFso.GetFile(File2).Size & ” Bytes”

‘Compare two text files by Size
If objFso.GetFile(File1).Size = objFso.GetFile(File2).Size Then
Msgbox “Files are Same by Size”
Else
Msgbox “Files are Not Same by Size”
End If

‘Compare two text files by Text
Set objTextstream1 = objFso.OpenTextFile(File1)
Set objTextstream2 = objFso.OpenTextFile(File2)

Read1 = objTextstream1.ReadAll
Read2 = objTextstream2.ReadAll

If StrComp(Read1, Read2, 1) = 0 Then
Msgbox “Files are Same by Text”
Else
Msgbox “Files are Not Same by Text”
End If

‘Compare Two text file by Binary (ANSI character codes) Values
If StrComp(Read1, Read2, 0) = 0 Then
Msgbox “Files are Same”
Else
Msgbox “Files are Not Same”
End If

objTextstream1.Close
objTextstream2.Close
Set objTextstream1 = Nothing
Set objTextstream2 = Nothing
Set objFso = Nothing
————————————————–
How to work with multiple Text files?

By using multiple Text Stream objects.

19) Count how many times the word “UFT” appeared in a Text file

Dim objfso, objTextstream, objRegEx, matches, myContent
Set objFso = CreateObject(“Scripting.FileSystemObject”)
Set objTextStream = objFso.OpenTextFile(“C:\Users\gcreddy\Desktop\abc.txt”)
myContent = objTextStream.ReadAll

Set objRegEx = New RegExp
objRegEx.pattern = “UFT”
objRegEx.Global = True ‘ To find all matches
objRegEx.IgnoreCase = True ‘To ignore cases (Considers Upper and Lower case letters)

Set matches = objRegex.Execute(myContent)
Msgbox matches.count

objTextStream.Close
Set objRegEx = Nothing
Set objTextStream = Nothing
Set objFso = Nothing

Create Regular Expression Object

No specific Class for creating Regular Expression Object, using New and RegExp keywords we can create Regular Expression Object.

Follow me on social media: