The dotNet object in TestComplete (requires the .NET Classes Support plug-in) allows you to access .Net objects in your TestComplete script code.  For example, if I needed a Hash table I could do the following:

[JScript]

function dotNetSample()
{
   var dictionary;
  dictionary  = dotNET.System_Collections.Hashtable.zctor();
  dictionary.Add("test","TestComplete");
  Log.Message(dictionary.Item("test"))
}
Or if I needed to write a Textfile:
function dotNetWriteTextFile()
{
   var sw;
  sw  = dotNET.System_IO.StreamWriter.zctor_5("TestFile.txt");
   try
  {
  sw.Write_10("This is the ");
  sw.WriteLine_11("header for the file.");
  sw.WriteLine_11("

Google Gears

I was on a conference call today talking to a client about how to architect a 'sometimes connected' web application, where the user would be able to

  • connect to a central web app/database when Internet access was available and see all data
  • download a local copy of needed data and then disconnect and continue to use the app with the local data copy, still in a browser
  • make change, deletions, and additions to the data in disconnected mode
  • when connected again, sync changes with the central data store.

Furthermore, this was to work cross browser, and cross OS ...

With new technology making the web a viable option for more and more applications, we are now seeing the web browser take over for the traditional desktop. Developers making this transition, quickly learn about some of the key differences between the two paradigms.  One of the issues they are often forced to deal with is Session expiration.  Out of the box, ASP.NET and IIS typically allow only 20 minutes of idle time before the session expires. This can be configured, but knowing that the session expired, or redirecting to a particular page often comes in handy.  One way to do this is to add ...

SAN JOSE, CA—Falafel Software is taking project management productivity to the next level with the release of ActiveFocus 2008, Friday, Feb. 22, 2008.

ActiveFocus is a Web-based project management application that unites project teams for peak performance whether they are located in the same office or across the world. The application, which is scalable and can be tailored to any business model, provides a complete overview of each project and enables teams to capture all the details that are important to them.

“Falafel Software understands how important productivity and team collaboration are to the bottom line. We created ActiveFocus ...

Click the Filter button on the top of your artifact grid:

image

In the # column, type your number and press Enter:

image

Your artifact is shown:

image

To search, just type a word in the Search box below and press Enter. All matching artifacts are shown in the grid, and you can page, sort etc as usual. They are initially sorted by Rank, which is a numeric value assigned to them by the free text search engine, the most relevant is shown first.

The search will look in all text fields of your artifact, for instance the Title, Description, Response etc. Notice that in the fourth match below, the word "screen" is not in the title.

image

The free text search language is that used by Microsoft Free ...

To do this, start by defining the Milestones. Click on this tab in the left navigation bar:

image

Then, in the Milestones grid, define the start and end data of each stage of the project:

image

Now click on your project in the project tree and you will see the Milestones laid out in a Gantt chart:

image

When you enter new artifacts, specify which Milestone they belong to (here called Events):

image

The Event for each artifact is shown in the grid:

image

You can filter the grid to show only artifacts from a certain event:

image

To do this, go to your user profile by clicking on this arrow:

image

Then, click Grids, enter the number or rows that you wish to see, and click Save:

image

QA Review Tip

At the end of an event/milestone if you entered defects against a project, you will typically need to review your bugs.  Here is an example of how to use the filter to do this. 

First, select the Event in the top right corner that you filed your bugs against.  Now go to the Defects view and click on the Filter button above the grid.  In the filter, go to Submitted By and select your name.  In the Status field you would want to select the appropriate state that you wish to close out, typically "Fixed".  Now you will have a ...

I was designing a load test against Active Focus the other day using TestComplete. I kept getting the error "Connection 0 of the task assigned to the virtual user VirtualUser1 was simulated partially. Only 3 of 41 requests were completed." in the test log.  The problem was that viewstate being sent (the record one), did not match the expect viewstate at the web server (probably something to do with security). So to fix this problem, I needed to capture the viewstate from the previous HTTP response and place it in the HTTP request.

[VBScript]

Dim ViewState

Sub ProjectEvents1_OnLoadTestingResponse(Sender, User, Request)
   ...

There are a few different versions that you can download, a 1+ GB version that works for 64 bit and 32 bit, and a much smaller 400+ MB version just for 32 bit, which is what I downloaded.

I ran the setup, but it said my language wasn't supported. I have a US English version, so that was kind of weird... So I downloaded the other 1+ GB version and tried that. Same issue. Hmmm....

Finally, I figured it out. I have a Swedish language pack installed on my Vista (because I can say things like hurdy burdy and I can cook ...

There are many times when looking over the Test Log after an unsuccessful test it would be useful to know the state of the machine at the time of the error.  In particular, it would be nice to see a picture of the desktop (or your application under test) at the time of error being posted to the log. Now, if you are doing the error posting from you script, it is easy as one of the parameters for Log.Error allows for posting a picture.  But if, TestComplete posts the error it is harder.  The best method I have found ...

All you need to do is enter an expression like this:

=RunningValue(Fields!NetQty.Value, Sum, "grpGrower")

  • The first parameter is the expression that is to be aggregated, in this case a field in my dataset.
  • The second parameter is what aggregation function to perform (it could also be something like Count, Max or Min)
  • The third and last parameter determines the scope of the aggregation. If you supply Nothing, the total spans over the whole dataset. If you specify the name of a containing group (as I do above), the total restarts for each new value in that group....