5,557,174 members and growing! (16,394 online)
Email Password   helpLost your password?
Platforms, Frameworks & Libraries » .NET Framework » Samples     Intermediate

Automate user actions in a web page - Microsoft Windows Workflow Foundation

By Karthikeyan Arunachalam

This article illustrates WWF custom activities to simulate user action and populate web page input fields and submit the page.
C#, Windows, .NET 2.0, .NETVisual Studio, IE, VS2005, IE 6.0, Dev

Posted: 6 Jan 2006
Updated: 6 Jan 2006
Views: 31,792
Bookmarked: 18 times
Announcements
Want a new Job?



Search    
Advanced Search
Sitemap
15 votes for this Article.
Popularity: 3.11 Rating: 2.65 out of 5
5 votes, 33.3%
1
4 votes, 26.7%
2
0 votes, 0.0%
3
1 vote, 6.7%
4
5 votes, 33.3%
5

Introduction

During Christmas holidays, I read about Microsoft Windows Workflow Foundation (WWF) for the first time and realized that I was too late in learning this new technology. "Better late than never" - so I decided to get my hands wet on this framework. WWF is an extensible framework from Microsoft to implement workflow based solutions. In simple terms, a workflow is a collection of activities. To read more on WWF, please visit the MSDN site.

At least once in a day, all of us open a web browser to do some search in Google, open our email account to check emails, and so on. This is an example of a human workflow, and in this article, I am going to show how to express this workflow in WWF.

Activities Defined

For doing a Google search, one has to perform the following activities:

  1. Open the browser.
  2. Navigate to the Google site.
  3. Enter the search text.
  4. Press the Search button.

For checking emails in a Hotmail account, one has to perform the following activities:

  1. Open the browser.
  2. Enter the username.
  3. Enter the password.
  4. Press the Sign In button.

In the above scenarios, we are filling a form in a web page and posting it. To accomplish this workflow, I did a very minimal abstraction and came up with the three activities below:

  • VisitPage - Opens the browser and navigates to the specified website.
  • InputData - Fills up the input controls on the webpage with the specified values (supports textbox, textarea, radio button, checkbox, dropdownlist).
  • Click - Posts the form by pressing the specified button

Custom Activity

Microsoft has made WWF application development very easy by providing the Visual Studio® 2005 Extensions for WWF. A separate project template is available for developing the Activity library. To implement a custom activity, all we have to do is derive from the Activity class and override the Execute method.

public class MyActivity : Activity 
{
    protected override Status 
              Execute(ActivityExecutionContext context) 
    {
        .
        .
    } 
}

I added additional properties for the VisitPage, InputData, and Click activities. See the attached code for details.

Defining a Workflow

Visual Studio has full designer support to model a workflow and even allows us to define breakpoints in the designer itself for debugging. Workflows can be defined in XML format also (XOML - XML workflow markup). Figure 1 is Hotmail account login workflow in designer view, and figure 2 is a Google search workflow in text view.

Figure 4 - Hotmail Login

Figure 5 - Google Search

Scope

There are so many automated web filing systems available today for a variety of services. I am sure that they are proprietary solutions very hard to develop, maintain, and to train new people. Now, we have got a very good generic, extensible framework from Microsoft with a full suite of developer tools to develop workflow based solutions. With the designer support, even a business analyst can complete a workflow without any help from a developer. I strongly believe that re-engineering web filing systems using WWF will deliver true ROIs.

Developer Info

The sample application was developed using Microsoft Pre-Release Software WinFX Runtime Components - December Community Technology Preview (CTP). Microsoft internet controls were used for the IE browser functionalities.

License

This article has no explicit license attached to it but may contain usage terms in the article text or the download files themselves. If in doubt please contact the author via the discussion board below.

A list of licenses authors might use can be found here

About the Author

Karthikeyan Arunachalam



Occupation: Web Developer
Location: United States United States

Other popular .NET Framework articles:

Article Top
Sign Up to vote for this article
You must Sign In to use this message board.
FAQ FAQ Noise ToleranceSearch Search Messages 
 Layout  Per page   
 Msgs 1 to 9 of 9 (Total in Forum: 9) (Refresh)FirstPrevNext
Subject  Author Date 
Questionnot able to reach the Execute method of custom activitymemberamitkm16:39 1 Oct '07  
GeneralGetting errors.memberjdkulkarni22:58 13 Feb '07  
GeneralSimplier is definately better!member.NETWannabe12:01 11 Aug '06  
GeneralRe: Simplier is definately better!memberGaoYu200018:00 13 Aug '07  
QuestionUIFlow [modified]membersaisrio4:13 26 Jun '06  
GeneralA concrete example would be nicemembersytelus0:20 8 Jan '06  
GeneralRe: A concrete example would be nicememberKarthikeyan Arunachalam2:30 8 Jan '06  
GeneralRe: A concrete example would be nicememberernest_elias21:59 10 Jan '06  
GeneralYou are not very latememberIgor Vigdorchik16:13 6 Jan '06  

General General    News News    Question Question    Answer Answer    Joke Joke    Rant Rant    Admin Admin   

PermaLink | Privacy | Terms of Use
Last Updated: 6 Jan 2006
Editor: Smitha Vijayan
Copyright 2006 by Karthikeyan Arunachalam
Everything else Copyright © CodeProject, 1999-2008
Web13 | Advertise on the Code Project