On Thu, Apr 06, 2006 at 11:06:00PM -0700, Dan Fabulich wrote:

> Good points there... Here's my two cents (and a bit).
> 
> 0) Not explicitly highlighted, Selenium Core generates an XML file
> with a full description of its API; this is enough information to
> generate copious javadoc, ndoc, rdoc, pydoc, or POD perldoc. We should
> use it for something perl-ish, one way or another.

Agreed.

> 1) It's worth noting that the other drivers (java, c#, python, ruby)
> *do* have build code. For python/ruby, there's just enough build code
> to run XSLT to generate code, run some tests, and generate doc, but
> the c# code requires running it through csc and the java code is
> compiled by Maven. A makefile would therefore not be out of place.
> 
> 2) As clever as the AUTOLOAD code is, it can be very opaque to end
> users. Since the AUTOLOAD code has no explicit definition of "click"
> (for example), users can't grep through the code for its
> implementation, and they have to consult the Selenium website for
> reference documentation. While we could use the Core XML to merely
> generate POD documentation, at that point we're really 90%  of the way
> towards generating all of the Perl code, which I would probably
> prefer.

I'm not particularly concerned about this one way or another.  Provided
the documentation is there people can look at the source or not as they
please.  No doubt some poeple would prefer the minimal AUTOLOAD code and
others the more explicit longhand.  Since it is machine generated we are
keeping DRY whichever way we go.

> 3) It's never been clear to me what to do with code that is partly
> Perl and partly something else. CPAN is full of pure Perl (or Perl +
> C) projects, but Selenium will always be a multi-lingual project (for
> the browser-side JavaScript alone, if not also the Java server). What
> do people normally do with that kind of project?

I don't see a problem with that sort of thing going on CPAN, at least
not from that point of view, but I do wonder if it is worthwhile given
that it will exist as part of Selenium itself.  I suppose the advantage
would be that it would be possible to use standard perl installation
mantras to install Selenium.

> 4) I'm happy to volunteer to maintain a *thin* Perl driver that does
> not include its own back-end code. Such a driver should be no longer
> and no more complex than the Python, Ruby, Java or C# drivers, and
> can/should include automatically generated code/doc. If the project is
> bigger than that, though, someone else will need to do it.

What is the state of this at the moment?  I need it now, otherwise I'll
be using the Ruby driver ;-)  I have some time to work on it at the
moment, but I might not have in a few days.  Luke mentioned he had the
basics of something, and you have volunteered here.  Is there something
I can assist with?

As far as strategy is concerned, I think this is the right way to go.  I
don't see any point in rewriting the Java code if it is doing everything
necessary (I discovered I needed a fairly recent (or possibly just not
ancient) version of java to get it to work), and being consistent with
the other languages seems to provide many benefits.

I'm on freenode #selenium if anyone wants to discuss this there.

-- 
Paul Johnson - [EMAIL PROTECTED]
http://www.pjcj.net

Reply via email to