I got a request to share the code for the "web shell", which I mentioned in earlier post.
I did a fast translation from Swedish to English and here is the result (please read PICT help file for proper format of the input file):
<html>
<!--
************************************************************************************
Purpose: To generate testcase file.
Assumptions: Proper security settings in browser
Inputs: Inputfile, Outputfile
Returns: Formated XLS Outputfile
Author: Stefan Thelenius 2007-01-09.
'***********************************************************************************
-->
<head>
<title>Create PairWise Test Cases</title>
<SCRIPT LANGUAGE="vbscript">
Sub CreateTest
strInputFile = frmForm1.txtC.Value
strOutputFile = frmForm1.txtB.Value
frmForm1.Ptxt.Value = CreateTestCase(strInputFile, strOutputFile)
End Sub
Function CreateTestCase(strInputFile, strOutputFile)
'Set path to PICT program
strPath = "cmd /K C:\Program\Pict\pict.exe "
Dim fso
Set fso = CreateObject("Scripting.FileSystemObject")
'Copy input file to temp file
fso.CopyFile strInPutFile, "c:\temp.txt"
Dim oShell
Set oShell = CreateObject ("Wscript.shell")
'Run PICT
Set oExec = oShell.Exec(strPath & "c:\temp.txt > c:\Testfall.xls")
Set oExec = Nothing
Set oShell = Nothing
strCall = "FormatXLFile(""" & strOutputFile & """)"
kaka = setTimeout (strCall,10000,"VBScript")
Set fso = Nothing
CreateTestCase = "Creating file, please wait..."
End Function
Function FormatXLFile(strOutputFile)
Set ExcelObj = CreateObject("Excel.Application")
ExcelObj.Workbooks.Close
'Open file created by PICT
ExcelObj.Workbooks.Open "c:\Testfall.xls"
Set NewSheet = ExcelObj.Sheets.Item(1)
NewSheet.Activate
'Format
NewSheet.Rows(1).Font.Bold = True
NewSheet.Columns("A:AA").AutoFit
ExcelObj.ActiveWorkbook.Saved = True
NewSheet.Copy
'Save to output files
ExcelObj.ActiveWorkbook.SaveAs strOutputFile
ExcelObj.ActiveWorkbook.Saved = True
ExcelObj.Application.Quit
Set NewSheet = Nothing
Set ExcelObj = Nothing
Set ExcelObj = CreateObject("Excel.Application")
ExcelObj.Workbooks.Close
ExcelObj.Workbooks.Open strOutputFile
ExcelObj.Application.Visible = True
FormatXLFile = "Ready"
Set fso = CreateObject("Scripting.FileSystemObject")
'Delete temp files
fso.DeleteFile("c:\temp.txt")
fso.DeleteFile("c:\Testfall.xls")
Set fso = Nothing
frmForm1.Ptxt.Value = "File ready"
End Function
</SCRIPT>
</head>
<body>
<BODY BGCOLOR="white">
<FONT FACE="verdana" SIZE=1>
<FORM NAME="frmForm1">
<table width="300" border="0" cellspacing="0" cellpadding="0" align="left">
<FONT FACE="verdana" SIZE=1>
<tr>
<td><H3><Center>Create test cases<Center/></H3>
<FONT FACE="verdana" SIZE=1>
Input File syntax: [infilename.txt]<br />
Output File syntax: [outfilename.xls]<br />
</td>
</tr>
</table>
<br><br><br><br><br><br>
<table width="300" border="0" cellspacing="0" cellpadding="0" align="left">
<tr>
<td>
<Left>
<FONT FACE="verdana" SIZE=1>
Infile
</Left>
</td>
<td>
<INPUT TYPE="file" NAME="txtC" SIZE=40>
</td>
</tr>
<tr>
<td>
<Left>
<FONT FACE="verdana" SIZE=1>
Outfile
</Left>
</td>
<td>
<INPUT TYPE="file" NAME="txtB" SIZE=40>
</td>
</tr>
<tr>
<td>
<Center>
<FONT FACE="verdana" SIZE=1>
<INPUT TYPE="button" NAME="cmdCalc" VALUE="Create file" onclick="CreateTest">
</Center>
</td>
<td>
<INPUT TYPE="text" NAME="Ptxt" SIZE=40></td>
          
</td>
</tr>
</table>
</FORM>
</body>
</html>
Subscribe to:
Post Comments (Atom)
5 comments:
Hi Stefan,
This is a very cool example of how to wrap the PICT tool with a GUI interface. I am glad you visited my blog earlier and left a post, otherwise I might have never found your blog. I look forward to more posts!
- Bj -
Thanks!
Thanks for posting this code. It is going to be useful for me.
You're welcome. I've got some good QTP stuff from Software Inquisition in the past...
From an e-mail request:
"I saw a post of your from March/08 saying that you use PICT with a Web GUI on tp of it. Can you point to a place where I can download such a GUI interface."
Answer: Copy the HTML code from this post and save to an HTML-file (please note that there are some hardcoded file paths)
/Stefan
Post a Comment