BTA Flexing

My passion RIA…………..Shardul Singh Bartwal

Find Flex 3.0 Components all Together

Posted by shardulbartwal on May 9, 2008

  Just some days back I found a aowsome link related to the Flex 3.You can say that the all flex 3.0 components under one roof. This link will be helping all of us to find out them quickly with their usability. Except the UI components there is a lot for you. Specially the validators and formaters, Print controls and Data visualization components. You will also find Effects; view States and Transition here with coding for using them. Just see all the effects choose your Data visualization Component and start rocking with flex coding.Ok I think now its time to share it with you. Just check it friends…………there is a lot for you.

 

   http://examples.adobe.com/flex3/componentexplorer/explorer.html

 

Enjoy Flexing………………….

Posted in Flex 3.0 | No Comments »

Unable to resolve a class for ResourceBundle: string

Posted by shardulbartwal on April 15, 2008

Unable to resolve a class for ResourceBundle: string

========================================================

  Few  days  back when I was using the PhotoViewer  from  the adobe’s  sample  example  then

With the download code I got the problem with message ‘Unable to resolve a class for Resource Bundle: string’. This is one of the common problems related to the setting of your applications ‘compiler setting’. If you want to resolve this then just right click right mouse click on your project and then click on the ‘Properties’. It will open a new window with title ‘Properties for …your project name….’.Here Just click on the ‘Flex Compiler’. It will take you to the ‘Flex compiler’. Here under ‘Additional compiler arguments’ you have to write:-

-use-network=false -library-path+=locale/{locale}

-source-path+=locale/{locale} -locale=en_US’.

 Now compile your application. The issue will be resolved.

 

 

Hope it will help you if required……………………

 

Posted in Flex | No Comments »

Adobe AIR and SQLite Connectivity

Posted by shardulbartwal on April 14, 2008

Adobe AIR and SQLite Connectivity

 ===========================

  Abode AIR provides very easy mechanism to connect to the SQLite.I am doing the connectivity by coding. Here nothing different just create the connection and create the SQLConnection,open it, create SQLStatement and execute them, close connection.Upto my experience I think this is the same common way which we used in any database connectivity. So there is nothing special. I found this process very cool especially due the portable size of the SQLite and creating and deleting the database in just one mouse click. Apart form this you don’t require any thing else Flex Builder IDE with AIR. There is no software requirement for the SQLite.

 I am just putting some line of code for your better understanding. You can just copy and paste it. Although Its just a small code but hope it will give you the over all idea about dealing with the database in an AIR application.

 

*************************************************************

<?xml version=”1.0″ encoding=”utf-8″?>

<mx:WindowedApplication xmlns:mx=”http://www.adobe.com/2006/mxml

layout=”vertical” creationComplete=”init()”

width=”500” height=”400” backgroundColor=”#000000>

<mx:Script>

 

<![CDATA[

      import mx.controls.Alert;

      import mx.collections.ArrayCollection;

      import flash.data.*;

     

      private var ob:Array=new Array();

      public var mysqlConnection:SQLConnection;

      public var _createProdct:SQLStatement;

      public var _insertProduct:SQLStatement;

      public var _selectProduct:SQLStatement;

 

      private const _counterProduct:int = 1;

      private var databaseFile:File =

      File.applicationStorageDirectory.resolvePath("data.db");

      private const CREATE_PRODUCT_TABLE:String =

      "CREATE TABLE product (id INTEGER PRIMARY KEY,name TEXT," +

      "department TEXT, title TEXT, description TEXT);"

     

      private var _id:int;

      private var _name:String;

      private var _department:String;

      private var _title:String;

      private var _description:String;

     

      private var INSERT_PRODUCT:String;

      private const SELECT_PRODUCT:String = "SELECT * FROM product";

 

      public function createDatabase(databaseFile:File, productCount:int):void

      {

            if ((databaseFile != null) && (databaseFile.exists))

            {

                  databaseFile.deleteFile();

                  dg1.dataProvider=null;

                  Alert.show("Database Created Successfully.");

            }

     

            if (productCount < 1)

            {

                  productCount = 1;

            }

     

            mysqlConnection = new SQLConnection();

            mysqlConnection.open(databaseFile, SQLMode.CREATE);

            mysqlConnection.close();

            schemaGeneration();

      }

 

      public function deleteDatabase():void

      {

            if ((databaseFile != null) && (databaseFile.exists))

            {

                  databaseFile.deleteFile();

                  dg1.dataProvider=null;

                  Alert.show("Database Deleted Successfully.");

            }

            else

            {

                  Alert.show("There is no database to Delete.");

            }

      }

 

      private function schemaGeneration():void

      {

            var sqlStatement:SQLStatement = new SQLStatement();

            mysqlConnection=new SQLConnection();

            sqlStatement.sqlConnection = mysqlConnection;

            mysqlConnection.open(databaseFile, SQLMode.CREATE);

            sqlStatement.text = CREATE_PRODUCT_TABLE;

            sqlStatement.execute();

            mysqlConnection.close();

      }

 

      private function createInsertStatements():void

      {

            if((txt1.text !="")&&(txt2.text !="")&&(txt3.text !="")

            &&(txt4.text !=""))

            {

                  _id=0;

                  _name=txt1.text;

                  _department=txt2.text;

                  _title=txt3.text;

                  _description=txt4.text;

                 

                  if((databaseFile != null) && (databaseFile.exists))

                  {

                        INSERT_PRODUCT="INSERT INTO product (id, name, department, title, description)" +

                        " VALUES ("+"((SELECT max(id) FROM product)+1)"+",'"+_name+"','"+_department+

                        "','"+_title+"','"+_description+"');";

                        _insertProduct =new SQLStatement();

                        mysqlConnection=new SQLConnection();

                        _insertProduct.sqlConnection= mysqlConnection;

                        mysqlConnection.open(databaseFile, SQLMode.CREATE);

                        _insertProduct.text = INSERT_PRODUCT;

                        _insertProduct.execute();

                        mysqlConnection.close();

                        createSelectStatements();

                        clearAll();

                  }

                  else

                  {

                        Alert.show("There is no database so please create it First.");

                  }

            }

            else

            {    

                        Alert.show("Please enter the proper values For all the relative fields.");

            }

      }

 

      private function createSelectStatements():void

      {

                  _selectProduct =new SQLStatement();

                  mysqlConnection=new SQLConnection();

                  _selectProduct.sqlConnection = mysqlConnection;

                  mysqlConnection.open(databaseFile,SQLMode.READ);

                  _selectProduct.text = SELECT_PRODUCT;

                  _selectProduct.execute();

                  ob=_selectProduct.getResult().data;

                  mysqlConnection.close();

                  dg1.dataProvider=ob;

      }

 

      private function clearAll():void

      {

                  txt1.text="";

                  txt2.text="";

                  txt3.text="";

                  txt4.text="";

      }

]]>

 

</mx:Script>

 

<mx:VBox width=”100%” height=”100%” horizontalAlign=”center>

     

      <mx:HBox width=”80%” height=”30” horizontalAlign=”center>

     

            <mx:Label width=”120” textAlign=”right” text=”Name” color=”#ff0000/>

           

            <mx:TextInput id=”txt1” width=”120” height=”35/>

 

      </mx:HBox>

 

      <mx:HBox width=”80%” height=”30” horizontalAlign=”center>

     

            <mx:Label width=”120” textAlign=”right” text=”Department” color=”#ff0000/>

           

            <mx:TextInput id=”txt2” width=”120” height=”35/>

     

      </mx:HBox>

 

      <mx:HBox width=”80%” height=”30” horizontalAlign=”center>

     

            <mx:Label width=”120” textAlign=”right” text=”Title” color=”#ff0000/>

           

            <mx:TextInput id=”txt3” width=”120” height=”35/>

     

      </mx:HBox>

 

      <mx:HBox width=”80%” height=”30” horizontalAlign=”center>

     

            <mx:Label width=”120” textAlign=”right” text=”Description” color=”#ff0000/>

           

            <mx:TextInput id=”txt4” width=”120” height=”35/>

     

      </mx:HBox>

     

      <mx:HBox width=”80%” height=”100%” horizontalAlign=”center>

     

            <mx:DataGrid id=”dg1” width=”100%” height=”100%>

           

                  <mx:columns>

           

                        <mx:DataGridColumn id=”idCol” width=”50” dataField=”id” headerText=”Id” textAlign=”center/>

                       

                        <mx:DataGridColumn id=”nameCol” width=”100” dataField=”name

                              headerText=”Name” textAlign=”center/>

                       

                        <mx:DataGridColumn id=”departmentCol” width=”100” dataField=”department

                              headerText=”Department” textAlign=”center/>

                       

                        <mx:DataGridColumn id=”titleCol” width=”100” dataField=”title

                              headerText=”Title” textAlign=”center/>

                       

                        <mx:DataGridColumn id=”descriptionCol” width=”200” dataField=”description

                              headerText=”Description” textAlign=”center/>

           

                  </mx:columns>

           

            </mx:DataGrid>

     

      </mx:HBox>

     

      <mx:HBox width=”80%” height=”50” horizontalAlign=”center>

     

            <mx:Button id=”btnCreateDataBase” label=”Create DataBase” width=”130

                  click=”createDatabase(databaseFile,_counterProduct)”/>

           

            <mx:Button id=”btnInsertIntoDataBase” label=”Insert into DataBase” width=”150

                  click=”createInsertStatements()”/>

            <mx:Button id=”btnDeleteDataBase” label=”Delete DataBase” width=”130

                  click=”deleteDatabase()”/>

      </mx:HBox> 

</mx:VBox>

 </mx:WindowedApplication>

  

********************************************************** 

Hope you will enjoy this………………………………….. 

 

Posted in AIR, SQLite | No Comments »

What and Why SQLite?

Posted by shardulbartwal on April 13, 2008

What and Why SQLite?

====================

As all of us know that the database is the vital element for the development of any application. If any one will tell that there is no concept of any application without database than I think he will absolutely right. But Is it feasible to go for the databases specially in the cases when our requirement is not related to the vast amount of data. Is there any way for dealing with the applications which require the small size database and what is the solution for the cases when we are working with the electronic devices like PDAs, mobile phone etc.What should be the substitute for the database in such cases.

  What about the idea if you don’t require installing any database for using data in your application. How amazing will be the way if there will only a single file which will be storing all the data in it. And how amazing it will be if we can send this file with our application’s deployment. What about the idea if we can use the SQL for dealing with this kind of the database. This all looks impossible initially. But this all can be achieved by just using the SQLite.SQLite full fill all above scenario.Beacause it’s search engine is smaller than any other database search engine.There is no requirement of any kind of the installation so there is no question of any particular server. It is used with cellular phone, PDAs and many other electronic devices, wherever there is requirement of storing data without any bulky database. It is totally transactional database. Transaction database means which full fill the ACID properties. Here ACID refers to Atomicity, Consistency, Isolated, and Durability.

 At last the summary is that the SQLite is the smallest database engine, and you can use it in the same way as any other database. In your application writing the sql queary, creating the database connection etc can be used in the traditional way.

 

 

Hope you will enjoy its implementation………………….

 

Posted in SQLite | No Comments »

Adobe AIR Experience It

Posted by shardulbartwal on April 11, 2008

Adobe AIR Experience It
========================

Have you ever created a desktop(Window) application using the tag base language?
Have you ever applied the CSS to the desktop application?
How will we create same window (desktop) version of any flex application?
How wiil we create a Rich application which can be install on our PCs by just running its Setup?
Is there any answer of these all questions?

The answer is very easy……………….Adobe AIR.
Just Experience it……………..

Posted in AIR | No Comments »

Flash and Flex Integration

Posted by shardulbartwal on March 31, 2008

Flex and Flash Integration
==========================

The Flex technology is based on the flash player. So how can be it difficult to get and access the content of any swf in Flex and reflecting the changes in the flash swf.Here I  am just  discussing the case  when  you   are  using  Action Script 3 version of the flash, and as all of us know that the Flex 2.0  and Flex 3.0  both uses Action Script 3.In depth we can say that in both cases we are using AVM 2. I have just created a swf in flash namely ‘ProAddRemoveApp.swf’. In this swf I am having two button with label ‘Add’ and ‘Remove’,and  their id in flash are ‘btnAdd’ and ‘btnRemove’.Also I am having  a MovieClip in Flash  with id ‘MC’.In flash on the click of Add button I am  creating a movieclip (red hexagonal),and adding that movieclip in an array and then attaching all items of the array to the ‘MC’ movieclip.Similarly on click of  Remove button I am  removing the last item  from the array and attaching the array to movieclip MC. Here In flash the name of my array is ‘arr’.  Now come to the Flex side,I have just loaded the earlier  discussed swf in my  Flex  Application. Here I am simply creating a MovieClip and pushing  all  content  of the swf in that.Now I can get  the object of the flash swf by just using a dot with this one movieclip.In my application I have added a handler with  each  these  two  flash button,which is just showing an alert message of item Added/Removed.Except this swf I am adding a flex button here with id ‘btnRemoveOfFlex’.Now this is flex button and I am  directly removing  item from the array ‘arr’ of flash on its click and hence the item is removed from flash Swf.

In the image below the upper red rectangle is the swf of flash and lower rectangle red box is showing a flex button.

 

 

flex_flash1.png

Hope you can get the clear idea after looking the code. I am just putting the

‘Flex’ code here for your better understanding.

*************************************************************************

<?xml version=”1.0″ encoding=”utf-8″?>
<mx:Application xmlns:mx=”http://www.adobe.com/2006/mxml
 width=”35%” height=”60%” layout=”absolute” creationComplete=”creationComplete()”
 backgroundColor=”#ffffff”
 horizontalAlign=”center” verticalAlign=”middle”
 horizontalScrollPolicy=”off” verticalScrollPolicy=”off”
 cornerRadius=”10″
 >
<mx:Script>
 <![CDATA[
  import mx.controls.Button;
  import mx.controls.Alert;
  import flash.display.MovieClip;
  import flash.display.DisplayObject;
  
  private var addButtonCount:Number=0;
  private var mc1:MovieClip;
  
  private function creationComplete():void
  {
   mc1=MovieClip(mySWF.content);
   mc1.btnAdd.addEventListener(MouseEvent.CLICK,addHandler,false);
   mc1.btnRemove.addEventListener(MouseEvent.CLICK,removeHandler,false);
  }
  
  private function btnOfFlexHandler():void
  { 
   var len:int =mc1.arr.length;
   mc1.arr.pop();
   if(len >0)
   {
   mc1.MC.removeChildAt(len);
   }
  }
  
  private function addHandler(event):void
  {
   Alert.show("Added from Flash");
  }
  
  private function removeHandler(event):void
  {
   Alert.show("Removed from Flash");
  }
 ]]>
</mx:Script>
<mx:HBox width=”100%” horizontalAlign=”center”>
<mx:VBox width=”50%” horizontalAlign=”center”  verticalGap=”5″ verticalAlign=”top” top=”15″>
<mx:SWFLoader id=”mySWF” source=”ProAddRemoveApp.swf” autoLoad=”true”/>
<mx:Button id=”btnRemoveOfFlex” width=”150″ height=”30″ click=”btnOfFlexHandler()” label=”Remove From Flex”/>
</mx:VBox>
</mx:HBox> 
</mx:Application>

******************************************************************************************

Hope you will enjoy this.
Enjoy Flexing…………………………….

Posted in Flex 3.0 | No Comments »

Import Web Service(WSDL) Wizard in Flex 3.0

Posted by shardulbartwal on March 20, 2008

Using webService In Flex 3.0 Application

Flex  3.0  provides  the  easiest  way  to  use  the  web  services. Under the ‘Data’  Menu on your  Flex Builder IDE there is a submenu namely ‘Import Web Service(WSDL)’,We can use it to Directly use the Web Services.Just create a Flex  Project. No need  to chose any  ’Applciation Server Type’  under ‘Server Technology’  title. After that just go to the Import Web Service(WSDL)’ under ‘ Data’ menu.

importwsdl.png

After clicking on this you will see like below.

importwsdl1.png

Just click on the ‘Next’ button.

importwsdl2.png

Now you have to enter your webService url in the box with label ‘WSDL URI‘,and after that just click on the ‘Next’ button. 

importwsdl3.png

Here you can  change  the  service  if  you are  having  more than  one  service. Also  you  can  change package.If you  don’t  want  just  click  on ‘Finish‘.  After  you  will  click  on  the  ‘Finsh’ button you will find  a folder ‘generated’  under  your  ’src’ folder in  your  application. Under this ‘generated’ folder there  you will saw a ‘webservice’ folder. Just  open  it  and  find  the total conversion  of  your webservice in now action Script 3. Just  open  the ‘Service.as’ file you  will  find  how to use these classess for retreving results from your WebService. I  am  just  telling you the way of using it via MXML tags,you can also use these with action script. Just  copy  and  paste  the  code below in  you Application file,and run it to find out the result.

*******************************************************************************************

<?xml version=”1.0″ encoding=”utf-8″?>
<mx:Application xmlns:mx=”http://www.adobe.com/2006/mxml” layout=”horizontal”
 xmlns:myService=”generated.webservices.*”>
 <mx:Script>
  <![CDATA[
   import generated.webservices.*;
   
   private var number1:int;
   private var number2:int;
   private function f1():void
   {
    number1=(int)(txtInput1.text);
    number2=(int)(txtInput2.text);
   }
  ]]>
 </mx:Script>
<myService:Service id=”myService”>
 <myService:multi_request_var>
  <myService:Multi_request/>
 </myService:multi_request_var>
</myService:Service>

<mx:VBox width=”50%” horizontalAlign=”center”>
 <mx:HBox width=”100%” horizontalAlign=”center”>
  <mx:Label width=”150″ text=”Enter First Number”/>
  <mx:TextInput id=”txtInput1″  width=”100″ height=”30″ change=”f1()”/> 
 </mx:HBox>
 <mx:HBox width=”100%” horizontalAlign=”center”>
  <mx:Label width=”150″ text=”Enter Second Number”/>
  <mx:TextInput id=”txtInput2″  width=”100″ height=”30″ change=”f1()”/> 
 </mx:HBox>
  <mx:Button id=”myButton” label=”Call WebService” click=”myService.multi(number1,number2)”/>
  <mx:Label id=”l1″ text=”{isNaN(myService.multi_lastResult)? ”: myService.multi_lastResult}” width=”150″/> 
</mx:VBox>
</mx:Application>
*****************************************************************************************

Hope you will enjoy it……

Enjoy Flexing……………………..

Posted in Flex 3.0 | No Comments »

Module Based Application In Flex 3.0

Posted by shardulbartwal on March 9, 2008

Module Based Application in Flex 3.0

 Using  Module  in  flex 3.0  based  application  is one of the best approach from the performance perspective. The  importance  of  the  module based  application increases when this is a big one application.One of the major benifit by using module is the independecy during development phase. Let  uppose  I am dividing my  Project in 3 modules for the assigment of development to 3 developers.Now these 3 people can develop their own module(here module is reffering general term of Software Engineering)by using the Module(Flex 3.0’s Module).The  another  and  main  benifit is  related  to the performance.Let suppose my final swf’s size is 3 MB. So  for  using the application we have to load this 3 MB’s SWf. But let suppose I divide my Application  in  3  modules  then  definetly  the  size  of  the  Module  will  be  one  third  of  the Application.Now when I have to use the first Module I will load only it.When I have to use Second Module I Will simply unload the first one and will Load Second one.Hence my memory Consumption will be One by third of the Earlear non Module based approach.Further we can also divide a  Module in to the other Modules so this can be done up to any level.The important  thing  is  to  divide  your  needs in such  small unit of requirements. This will increase your performance in a amazing way. Here  one  thing  which  should  must  added  is  that  the  swf generated after the compilation of the Module will  not show  you  any  thing  if  you  will run  it  separetly. If  you  have  to  use  it  then  it is  must  to  load it  at  Application  level. It  is  also  allowed that  if  you  load  a  module  A into another module B then only after Loading B at Application level you can access module A.

Its all the theory related to the Modules now come to the implementation…………………………..

Open your Flex Builder and create a new Flex Project as I named it ‘ModuleBasedApplication’.Now under the ’src’ folder create the folder structure as I have created.Here I am creating three folders under ‘modules’ folder named ‘mod1′,’mod2′ and ‘mod3′ for putting three modules.Look at Below.

a.png

Now you Have to place Module inside mod1,mod2 and mod3 folders.Just goto  File > New >MXML Module as below.Name it ‘Mod1′ and then put it into ‘mod1′.Simlarly create ‘Mod2′ Module in ‘mod2′ folder and ‘Mod3′ Module in ‘mod3′ folder.

b.png

After adding the Module in these folders it will look like below.

c.png

Now you have added the modules and you can code according to your use,for example I have simply placed one Label inside each which is just showing the name of that particular Module i.e Mod1,Mod2 or Mod3.Now go to the ‘Properties‘ of you project on Right Mouse Pressing on it you will find a window on the left of which you can see the ‘Flex Modules’  tab.Just click on this tab.A window with title ‘Flex Modules’ will open.At the right corner of this window is a ‘Add’ button click on it,‘Add Module’ window will open.Click on the ‘Borwse’ button then you will find ‘Select Module‘ window.Now just select the Module which you have to add as here ‘Mod1.MXML’ is selected,and then click ‘OK’.Again click ‘OK’ on ‘Add Module’ window.

z.png

Similarly add all other Modules.Yours Modules has been added and now just compile your project.After building it you will find the structure as below your project’s ‘bin-debug’ folder.

e.png

Now I am giving you the code related to the Application file in which I am showing these modules separetly on the click of a tab of TabBar.On click of each tab a separate module is can be seen.Just copy and paste the code below into your Application file i.e. main file.

***************************************************************************************************************************

<?xml version=”1.0″ encoding=”utf-8″?>
<mx:Application xmlns:mx=”http://www.adobe.com/2006/mxml” layout=”horizontal”
width=”60%” height=”60%” left=”15″ right=”15″ top=”15″ bottom=”15″
backgroundColor=”#000000″>
<mx:Script>
<![CDATA[
import mx.collections.ArrayCollection;

private var acTabBar:ArrayCollection=new ArrayCollection([
{data:'tab1',label:'tab1'},
{data:'tab2',label:'tab2'},
{data:'tab3',label:'tab3'}
])
]]>

</mx:Script>
<mx:VBox width=”100%” height=”100%” left=”150″ right=”150″ top=”150″ bottom=”150″>
<mx:TabBar id=”tabModules” width=”80%” height=”25″ dataProvider=”{acTabBar}” />
<mx:ViewStack id=”v1Vstk” width=”100%” height=”100%” selectedIndex=”{tabModules.selectedIndex}”>
<mx:ModuleLoader url=”com\myProject\modules\mod1\Mod1.swf” width=”100%” height=”100%”/>
<mx:ModuleLoader url=”com\myProject\modules\mod2\Mod2.swf” width=”100%” height=”100%”/>
<mx:ModuleLoader url=”com\myProject\modules\mod3\Mod3.swf” width=”100%” height=”100%”/>
</mx:ViewStack>
</mx:VBox>
</mx:Application>

***************************************************************************************************************************

After this once again compile your Application.You will find a TabBar there as below on the click of which’s tabs you will find different modules.

f.png

Hope you will enjoy this.

Enjoy Flexing…………………………………………………………..

Posted in Flex 3.0 | No Comments »

Welcome Flex 3.0

Posted by shardulbartwal on February 25, 2008

Finally the wait is over!!!

Hi Folks,

Finally the day has come when Flex 3.0 and AIR are released.Its  definetly a pleasant news for all those flex  guys  which were   waiting  for  it. I  am  also  waiting  for  this  since  the  First  Beta  Release. I  am sure that this will  lead us  to  a new height of  success  in RIAs.No doubt that Module, Profiler,  Advance DataGrid  and  Deep Linking, Flex Ajax Bridge  and  many new  features  related  to Data will give more stability to the large Enterprise Applications.Except this Developing Desktop application  with  AIR  will  amazing. The  look and  Feel  of  the  web will be brought to the Desktop.AIR will have enough support
for dealing with the Local File System.

  Hope you all have already started working with the Beta of Flex 3.0.But now it’s time to Create amazing RIA Applications.One more relaxing thing is that the cost of stand alone versionof it is just US$249.

Enjoy Flexing ………………………

Posted in Flex 3.0 | No Comments »

Testing Flex Application

Posted by shardulbartwal on January 31, 2008

As all of you know that the Flex Technology is totally based on the
flash player  which  is  stateful. So usually it will have the different
approach  for  testing  the  application  in a  automated environment.
Definitely the tools  will  be the different for Functional Testing and
Load  Testing.I have collected  some important links related  to the
different types of Testings.Almost of them are explaining prerequisites,
how  to  get the  Tools ,setting up Testing Envirnment, Writting and
Running Test etc.You can find  out  many  tutorials  related  to the
Testing Flex Application directly from the Adobe’s site.

Functional testing Adobe Flex applicationsFlex Stress Testing Framework

Flex Load Testing Tool

Automated Testing of Flex applications

QuickTest Professional support for Flex applications

Automation-ready sample application

About automating applications with Flex

 Enjoy Flexing………………………………

Posted in Flex | No Comments »