Monday, October 27, 2008

TestPartner .Net Fusion

Yesterday, I came across a Microsoft website discussing .Net and Visual Basic 6.0 integration, they dubbed this as VB Fusion. Skimming through the documentation, I came to realize that most of these stuff can be used in TestPartner.

That is where my journey into the world of .Net with TestPartner, which I dubbed as TestPartner .Net Fusion, comes alive. I am planning on making this as a series of blogs discussing the ins and outs of integrating .Net functionality into TestPartner 6.1.x.

For this blog post will try to get our hands wet into the world of .Net integration using System assembly. In fact, what we will do is re-implement what's being dicussed in this site into TestPartner. In a nutshell, we want to display an image downloaded automatically from Space Science and Engineering Center, University of Wisconsin-Madison. We'll grab the latest photo from the east coast of the United States using the System assembly.

So let us create a new form in Common project in TestPartner, call this frmTest. Default form properties should be fine. Drop couple of controls, let's put in command button and image control. Add a code behind form for the command button. It should look like this:
Private Sub CommandButton1_Click()
    Dim webDownload As System.WebClient
    Set webDownload = New System.WebClient
    webDownload.downloadFile _
        "http://www.ssec.wisc.edu/data/east/latest_eastir.gif", _
    "D:" & "\latest_westir.jpg"
    Set Image1.Picture = LoadPicture("D:\latest_westir.jpg")
    frmTest.ScrollHeight = Image1.Height + Image1.Top
    frmTest.ScrollWidth = Image1.Width + Image1.Left
End Sub
For this to work, we need to set a reference to System.tlb. See below:
It should point to C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\system.tlb. It is possible that System.dll is not registered as COM object. So to fix this run:
C:\>regasm "C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\system.dll"

Now, we are getting real close. Before creating our test script, check that your form looks somewhat what is shown below:
Now, let us create a test script that will make use of the form, see below for a sample code:
Option Explicit
Sub Main()

    Include "Common.frmTest"
    frmTest.Show
End Sub
Hit on run and viola! You should have the latest weather update from the east coast of the United States. Here is how mine looks:
Enjoy!
TS

No comments: