Started experimenting with FlexMonkey before Thanksgiving. At first glance it works pretty well. They have broken the code into a headless version that just has the Adapter and no UI. It is using AutoQuick as a baseline as I had done. I think I can pretty easily add an ExternalInterface callback and use it instead of my modified AutoQuick.swc. Along with user-extensions.js that should be enough that Flexenium will work. As FlexMonkey progresses, Flexenium could progress as well. The getXXX commands for verify etc. will still need some work but the majority of the "hard stuff" should be able to be harvested from FlexMonkey.
We will see...
Sunday, November 30, 2008
Thursday, July 24, 2008
All quiet
For now I'm not working on this much. On vacation next week, I'll look at the Selenium Flex API someone else is working on. Looks like they are doing similar stuff to what we did the first time through. Manually dispatching events won't work very well if you want to record though. The automation API is still your best bet there. I just wish I had more time to work on this.
Wednesday, June 18, 2008
Busy on stress testing
Sorry...been trying to help get LoadRunner to work stress testing our AMF formatted service interaction. What a pain!? We are considering using Eggplant for functional and stress testing and drop LoadRunner. If this happens, I won't be working on this anymore.
Thursday, June 12, 2008
Stepping back
Presented proof-of-concept to interested developers/testers today. Went well and got some input on direction for the short-term. Spending time tomorrow discussing moving forward. Should start making more progress again next week.
Monday, June 9, 2008
Management meeting rescheduled
I was up to present a proof-of-concept for Flexenium to 3rd level management today but it fell through and was rescheduled for late this month (23rd-ish). This in unfortunate but does not change my general direction. I'm doing more research on the automation package and fiddling with how Flex automationName could be used for a 'locator' strategy. It would seem that the AutoQuick recorder records more information than is needed to locate a component if the id or automationName is unique across the application. The AutoQuick player also always expects the root Application to be in the ID which doesn't make sense to me.
Is there ever a case when a swf has more than one 'Application'?
I should post this question on flexcoders.
Is there ever a case when a swf has more than one 'Application'?
I should post this question on flexcoders.
Wednesday, June 4, 2008
Source in svn
I think I have all the source I am currently working on in Subversion. A majority of the code is just the Flex AutoQuick example that I have modified slightly for my purposes. You should be able to run the sample Selenium tests against the AutoQuickExample.html/swf but I can't provide the AutoQuick.swc directly since it is something only people with FB3 Professional have licenses to use.
Monday, June 2, 2008
Converting AutoQuick XML records to Selenium HTML
I wrote some real basic code Friday that converted the AutoQuick records from XML into an HTML table that could be read by Selenium core. Nothing earth shattering.
Still trying to figure out the best way to put code in repository for this.
Still trying to figure out the best way to put code in repository for this.
Tuesday, May 27, 2008
Baby step
Okay, I took the weekend off. But today I was able to make some minor mods and added a "clickFx" command to my user-extensionts.js file and was able to have it click a button in my sample application utilizing the AutoQuick sample automation code. Here is how the JS code looks:
var flexApp = "AutoQuickExample";
// All do* methods on the Selenium prototype are added as actions.
// Eg add a typeRepeated action to Selenium, which types the text twice into a text box.
// The typeTwiceAndWait command will be available automatically
Selenium.prototype.doClickFx = function( locator, text ) {
var element = this.page().findElement( flexApp );
element.runCommand( locator, "Click", text );
};
On the Flex side, I just added an ExternalInterface callback to the AQToolBar.mxml file to hear the 'runCommand()' method call like this:
private function init() : void
{
ExternalInterface.addCallback( "runCommand", runCommand );
}
private function runCommand( id:String, method:String, args:String ) : String
{
var o:Object = AQAdapter.aqAdapter.run( id, method, args );
return "ok";
}
I don't know if I can put the AutoQuick code up but I intend to look at getting instructions put up tomorrow hopefully.
var flexApp = "AutoQuickExample";
// All do* methods on the Selenium prototype are added as actions.
// Eg add a typeRepeated action to Selenium, which types the text twice into a text box.
// The typeTwiceAndWait command will be available automatically
Selenium.prototype.doClickFx = function( locator, text ) {
var element = this.page().findElement( flexApp );
element.runCommand( locator, "Click", text );
};
On the Flex side, I just added an ExternalInterface callback to the AQToolBar.mxml file to hear the 'runCommand()' method call like this:
private function init() : void
{
ExternalInterface.addCallback( "runCommand", runCommand );
}
private function runCommand( id:String, method:String, args:String ) : String
{
var o:Object = AQAdapter.aqAdapter.run( id, method, args );
return "ok";
}
I don't know if I can put the AutoQuick code up but I intend to look at getting instructions put up tomorrow hopefully.
Thursday, May 22, 2008
Moving forward
Okay...I'm not too bright. I anxiously tried to 'skip to the end' on the AutoQuick example and that is why I missed a key step in setting it up. I ended the day with properly running example and an apologizing post on the Adobe Flex 3 Live docs site where I made my original "this doesn't work post".
Tomorrow I am chaperoning a field trip for my son and in the evening geeking out with my 30-something friends so won't make much progress. I hope to take at least another baby step this weekend. Regardless, my "playing" has given me insight into how we can do the proof of concept for the next version of Flexenium.
I'm optimistic now...
Tomorrow I am chaperoning a field trip for my son and in the evening geeking out with my 30-something friends so won't make much progress. I hope to take at least another baby step this weekend. Regardless, my "playing" has given me insight into how we can do the proof of concept for the next version of Flexenium.
I'm optimistic now...
Wednesday, May 21, 2008
AutoQuick automation sample application
Today I was trying to get the AutoQuick automation sample application running on
my own and for some reason the automationManager was always null.
Line 355 in the AQAdapter.as it appears that it is null and has not been initialized yet.
Feel like I followed the instructions pretty well...
http://livedocs.adobe.com/flex/3/html/help.html?content=agents_3.html
Posted to yahoo flexcoders group so hopefully tomorrow I'll make more progress.
my own and for some reason the automationManager was always null.
Line 355 in the AQAdapter.as it appears that it is null and has not been initialized yet.
Feel like I followed the instructions pretty well...
http://livedocs.adobe.com/flex/3/html/help.html?content=agents_3.html
Posted to yahoo flexcoders group so hopefully tomorrow I'll make more progress.
Flex automation research approved
I just got approval to spend a week looking into using the Flex 3 automation package to create a new version of Flexenium that should be open to the public. If anyone has any helpful links please send them to me.
Subscribe to:
Posts (Atom)