Thursday, July 7, 2011

Selenium IDE Sideflow Update 1

Once again, for your development pleasure, ladies and gentlemen, the famous Sideflow plugin for Selenium IDE!  Goto and while loops performed in Selenium, before your very eyes.

Some people were having a bit of trouble getting started, so I've updated the demo test for Sideflow (Selenium IDE flow control extension) to use the latest Selenese commands.

What's changed: no more direct access to 'storedVars'.  No more 'getEval'... uses 'runScript' instead.  Need to do some weird casting to perform counter increments.

The github repo is over here.  Everybody git on board the github train!

PS. You can find the original post here.


Moa said...

I'm a beginner Selenium user and this seems awesome, just what I was looking for. Thanks!

FedeRH said...

Hi Darren, I've found this information most useful. I'm trying to use the WHILE function with a numeric expression but I keep getting errors
[error] Exception occured in incrementVal: Value of the provided variable is not a number.

Darren DeRidder said...

Hi FedeRH, sorry for the late reply. Could you please post an issue on Github including your operating system, Firefox and Selenium IDE version numbers. Thanks, D.

AllanD said...

One tweak to consider is the 'store' statement inside the while loop should be 'storeEval'. Store results in x being a formula: new Number(new Number(new Number(new Number(new Number(10 +1) +1) +1) +1) +1). This may be a problem on large while loops.

Anonymous said...

Allan, use storeEval | parseInt(storedVars['x'] | x and this should no longer be a problem. I also used JavaScript to increment my variables using parseInt (which changes strings to numbers if a number) storeEval | (parseInt(storedVars['x'] + 1) | x. Selenium still saves it as a string but the increments happen at JavaScript. The only thing is make sure your counter is also parsed. Worked for me and issued just 1 number without the +'s.

Jared said...

I've added the ability to add function calls to sideflow.js. This version has a simple adjustable stack size, and is even capable of recursion (there are function, endFunction, call, and callIf commands). There is still no local scoping, or function parameters, but still it's better than nothing. Let me know if you'd like me to send this to you for inclusion in the official version.