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.

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.

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?

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.

-Dan

Reply via email to