Squelenium: Selenium driver for squeak

David Shaffer cdshaffer at acm.org
Sat Jul 23 16:29:27 UTC 2005


Jason Rogers wrote:

> David Shaffer wrote:
>
>> My first crack at a Selenium
>> (http://selenium.thoughtworks.com/index.html) driver for Squeak is
>> available.
>>
> This is exciting and much appreciated David.  My limited experience
> has shown me that there is way too little testing going on in the
> Smalltalk world and I think efforts like this will help spur us on!
>
Thanks for the encouragement.  There could always be _more_ testing
going on.  I definitely agree with that.  I learned unit testing from
the Smalltalk community so I'm sure there's more going on than we hear
about on this list.  Unfortunately I don't see that much testing in the
web applications arena (no mater what platform is being used).  I've
done Test Driven Development in Java/JSP/Servlet/HttpUnit and let me
tell you we have a big leg up on that group with
Smalltalk/Seaside/SeasideTesting.  The development cycle using TDD in
Seaside is so natural in comparison.  I hate going back to my Java apps
since the cycle seems so clunky.  Anyway, I'm starting to digress.  For
those who don't follow this work, right now we have (this breakdown
comes, in part, from a private communication from Blaine Buxton who is
also working in this area):

    - SeasideTesting: in-image unit testing.  IMHO great for unit
testing at the Seaside /component/ level.
    - SmallHttpUnit: (right now VisualWorks only but Blaine indicated
privately that a Squeak port is coming)
          Excels at functional testing and testing non-Seaside applications
    - Selenium:  alpha release has working core but upper layers need
work.  Best for integration testing.  Can test Javascript/DHTML.

I think that the biggest obstacle to TDD for web applications is that
people tend to think about them visually before they do functionally. 
I'm looking for ideas to help bring these two modes of thinking closer
together but being inherently non-visual I am having a hard time.

Anyway, this e-mail is by way of a progress report:

    - I now have a SeleniumInstaller class to ease the burden of getting
things set up.  See the SqueakSource wiki for more details.  Basically
it is now trivial to get Selenium into a Comanche-based Seaside
service.  Here's what is going on by way of future development:

    - The next thing to do is to make a reasonable abstract test case
root which resets the queues and starts a web browser for each test
case.  Right now my (only) test case does this manually which wouldn't
look too nice in a larger system.  Also it would be nice if I
could/would close the browser window.  Support for Seaside+Swazoo will
come later.

Brave soles interested in seeing Squeak remote-drive their web browser
please have a look.  One problem with the current release is that the
test case needs to be changed so that the path it uses actually
corresponds to a URI that your Comanche service is using to serve
files.  So, you might have to play a bit to get the test case working. 
I'll have a new release soon that makes sure the initial config can run
the test case.

David








More information about the Squeak-dev mailing list