Accessibility

Flash Article

 

Writing and running functional tests for Flash with Selenium RC


Paulo Caroli

Paulo Caroli

ThoughtWorks

Henrik Lindahl

Henrik Lindahl

Google

Table of Contents

Created:
23 June 2008
Modified:
1 July 2008
User Level:
Intermediate
Products:
Flash
Flex

Functional tests are intended to help you verify that a system, as a whole, functions as intended. Such tests verify that everything is wired together correctly. Selenium is an open-source testing tool for web applications. Selenium tests run directly in the web browser itself, mimicking what real users do. Furthermore, it supports a large variety of browsers and platforms. It is especially useful for executing tests to verify web application functionality and user acceptance. We used Selenium in our last project to verify that a web application (which contains one or more Flash components) worked the way we wanted.

Even though Selenium has been widely used for testing web applications, we did not find any resources linking Selenium to Flash or Flex when we started developing and testing Flash applications ourselves. After some work, however, we had a working solution for Selenium to test a deployed Flash application. This article describes how you can use the Selenium web testing tool to create and run functional tests for Flash and Flex web applications.

Requirements

In order to make the most of this article, you need the following software:

Selenium Remote Control

FlashSelenium

Prerequisite knowledge

You should have a good understanding of ActionScript 3.0 as well as the JUnit unit testing framework.

Creative Commons License
This work is licensed under a Creative Commons Attribution-Noncommercial-Share Alike 3.0 Unported License

About the authors

Paulo Caroli is an agile coach and senior developer for ThoughtWorks. His main expertise lies in agile development and object-oriented techniques, utilizing a variety of technologies, in the e-commerce and telecommunication industry. With more than 13 years of experience in software development, Paulo has successfully performed a variety of roles, including developer, application architect, project manager, business analyst, and trainer. You can reach him at caroli.org.

Henrik Lindahl is a software engineer at Google. Prior to his current job, he was part of the team at Gapminder Foundation that created the Trendalyzer software.