Charles:

I have tried your test and observed the same behavior. My guess there
is a bug or incompatibility between Perl Selenium bindings and
Firefox. So some functionality is broken.

If you have plenty of time and really would not to stick with Perl
while making a contribution, you can report the bug and work with the
Perl Selenium community to get it fixed, and to bring the whole
package to the level of decent maturity. Otherwise, I would recommend
using Python for your Selenium adventures as it is quite mature though
still not perfect and communicate with Perl using some protocol.

Regarding Selenium IDE, as Barry said it is rather useless except
maybe for some sample code to get you going. The problem is that there
is no way an IDE can know what to validate and what to wait for - it
just knows what you typed or clicked, but does not know why. I
personally have my own Selenium driver class that is specific to our
application where I have abstracted a number of frequently used tasks,
such as log in, or navigating to a certain frequently used page
through a sequence of clicks, or filling out a frequently used form.
In that same class I wrap pretty much every Selenium native call
because most of those are not very robust standalone - e.g. you might
need to retry because AJAX has modified the structure of the page, or
you want to wait until something appears in a div before you move on.
In one case I had to deal with a "possessed" checkbox that was getting
reset by some background script or possibly browser bug. I tried to
track it down, but it was hidden well enough from my view. So I just
wrote a wrapper that enables the checkbox in a loop until it is
enabled for good, or the timeout is reached.  And so on.

I would recommend getting proficient with the DOM inspector (right
click, Inspect Element), learn the basics of matching by CSS/XPath,
and when you have control over the HTML, make sure everything you
might ever need to use with Selenium has an id attribute. When all
else fails, use Javascript injection.

-- 
Sasha Pachev

Fast Running Blog.
http://fastrunningblog.com
Run. Blog. Improve. Repeat.

/*
PLUG: http://plug.org, #utah on irc.freenode.net
Unsubscribe: http://plug.org/mailman/options/plug
Don't fear the penguin.
*/

Reply via email to