All I can say is that I feel your pain.
I came to Selenium as something I was assigned at work to get familiar
with, but I could only spend an hour or two on per day, provided other
duties did not intrude. At the time the 2.x had not been released and
I was trying to work with 1.0.8 and found out that 2.0b2 was
available. Documentation on WebDriver was virtually non-existent,
although I knew it was supposed to "be the future". So I was bouncing
back and forth between the two by writing code that could run on
either one to determine which was best. Eventually compromising on
using 2.x with WebDriverBackSelenium for the majority of the code I
was writing.
You are perfectly correct about the Javadoc being inadequate. I have
submitted a couple of patches that have corrected errors in it now,
but those only touched the ones where the information was incorrect
(wrong or missing parameters or missing return info for the most
part). In many cases public methods I saw had no documentation at
all. In many cases (but not all) what was provided is less than
helpful. The only case I have run into worse Javadoc information is
TestNG, where they seem to excel at providing no useful information
int he documentation whatsoever.
If ever I have the time I would like to start doing a scrub of the
modules and work on updating the Javadoc for each, but right now I
really do not have the spare time. I do believe this would go a long
way to providing better information for developers.
As for the general documentation, it also needs to be worked on. I
started writing something more as notes to myself than anything as I
worked on getting Selenium up and running. It has turned into a
tutorial that people that covers how you set up your system, where to
get the files you need to install, how to use the IDE to record tests,
and finally how to take the output from those recordings and turn them
into useful tests. What I wrote is somewhat specific to our work
environment, but it could be generalized fairly easily. While I think
that the IDE is not needed by someone familiar with how Selenium
works, it is still a good training tool to help you get familiar with
how to write code, sort of like training wheels on your first
bicycle. For simple quick-and-easy tests it is actually a fast way to
get something done that works "good enough".
Unfortunately, I think many of the developers working on Selenium are
probably too close and too experienced with how it works to properly
document a beginners guide for it. When you know how something works
well enough it can be hard to remember how it is for someone that
doesn't know it and it approaching it for the first time. That is
just the way things work sometimes.
Mike