[ANN] Version 0.6.0-beta3 Released

48 views
Skip to first unread message

semperos

unread,
Feb 28, 2013, 11:07:25 AM2/28/13
to clj-we...@googlegroups.com
I apologize for the considerable delay between this and the last release. After moving 3 states, speaking at the Conj, the holidays and a very pregnant wife due to give birth this week, I've been busier than usual :)

This beta release betrays what "beta" ought to mean, but I wanted to give the community more time to fully hit on the Taxi API (new in the 0.6.x series), but also felt it important to include some of the new behaviors around nil-handling and exceptions as soon as possible.

Issues that block the release of 0.6.0 stable are:

You'll find at the bottom of this email the full list of commits since the last release. Important changes are:

 * New behavior when dealing with elements queried for that do not exist on the page
 * Bump Selenium-WebDriver dependency to 2.30.0, which gives support for Firefox 19 and below among other things
 * Contributions from several folks to remove bad logging and make the API more consistent

I've also removed assertions from the test suite that have to do with window sizes, resizing and positioning. It's been untenable to keep those tests passing across platforms and browsers, even for things like maximizing (which you'd assume would at least *increase* the size of the window, but no always...). If anyone has suggestions about how better to test window functionality, please discuss. For now, the relevant functions are still being exercised (so if an API changes beneath us we'll get exceptions during test runs), but there are no test assertions in the clj-webdriver.test.window namespace.

Here's that list o' commits:

4b5a3d2 * v0.6.0-beta3 origin/master master Bump version for 0.6.0-beta3 release
65a2c02 * Allow setting WEBDRIVER_CI_MODE to run script/test without being prompted
e946ff6 * Remove assertions on window size tests
236f3ca * changelog-was-here Don't make pretensions about keeping a CHANGELOG if you don't
29a7dc3 * Add exclusions to project.clj to give Selenium-WebDriver the deps it needs
99c6e6b * Get tests working again
0282096 * Fix link to Selenium-WebDriver changelog
71cdcb2 *   Merge pull request #95 from greywolve/patch-1
        |\  
611d275 | * Update README.md
        |/  
a45d70c *   Merge pull request #94 from semperos/assoc-exceptions
        |\  
eac6fa2 | * origin/assoc-exceptions assoc-exceptions Get back on the SNAPSHOT bus
2bd223f | * Comment out system-specific Taxi tests
be8e816 | * Get new nil/element handling passing tests again
633867a | * Remove new-from-webdriver, add conditional logic to init-driver
bdda5c7 | * Extend element-related protocols to nil, throw NoSuchElementException
39b6287 | * Stop returning {:webelement nil}
b19d14f | * Whitespace
5e7a1cc | * Provide convenience function for instantiating a Driver from a WebDriver
0778d02 | * Remove commented-out imports
e9260ca | * Reformat cond statements to be (1) more readable and (2) properly indented
40f72b2 | * Map already returns a lazy seq, remove redundancy
4ee4932 | * Correct which protocol is extended
        |/  
8ba9424 *   Merge pull request #93 from marshallbrekka/master
        |\  
35cdec5 | * return lazy seq
4194449 | * consistent return type of taxi/elements when passed an element
        |/  
f8e535a *   Merge pull request #92 from JacekLach/fix-log4j-properties
        |\  
082b715 | * Only configure clj-webdriver logging, rm appenders
        |/  
ac48110 * Add mention of Heroku-deployed version of test app in README
de7dd65 * Add tests that run on SauceLabs
334f3eb * Allow for customizing the app-under-test from command-line
1d5c21f * Remove Opera tests
4545165 * Fix #88 Update README section on testing
002b9aa * Ignore "real" properties.clj
e1f2cb8 * Make properties.clj => properties-example.clj
c029425 * Tweak Intellij banner since styling is ignored
105a0f2 * Update README with extra thank-you's for open source tooling
3b71f71 * Add notice for 0.6.0-beta2 in README

Mayank Jain

unread,
Feb 28, 2013, 11:25:01 AM2/28/13
to clj-we...@googlegroups.com
Thanks!


--
You received this message because you are subscribed to the Google Groups "clj-webdriver" group.
To unsubscribe from this group and stop receiving emails from it, send an email to clj-webdrive...@googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.
 
 



--
Regards,
Mayank.

Sean Corfield

unread,
Feb 28, 2013, 8:41:01 PM2/28/13
to clj-we...@googlegroups.com
Just starting testing with this now... will let you know if anything
odd pops up over the next few (business) days and I'll try out the new
nil / non-existent element handling as well (probably early next week,
the way this week is going).
> --
> You received this message because you are subscribed to the Google Groups
> "clj-webdriver" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to clj-webdrive...@googlegroups.com.
> For more options, visit https://groups.google.com/groups/opt_out.
>
>



--
Sean A Corfield -- (904) 302-SEAN
An Architect's View -- http://corfield.org/
World Singles, LLC. -- http://worldsingles.com/

"Perfection is the enemy of the good."
-- Gustave Flaubert, French realist novelist (1821-1880)

Daniel Gregoire

unread,
Feb 28, 2013, 10:11:14 PM2/28/13
to clj-we...@googlegroups.com

Thanks for letting me know. Looking forward to your feedback; hope we're as close to a stable 0.6.0 release as I think we are.

Sean Corfield

unread,
Mar 10, 2013, 7:24:50 PM3/10/13
to clj-we...@googlegroups.com
We've actually experienced a lot of problems with beta3 and have had
to go back to beta2.

It's a little hard to describe the problems, and I've absolutely no
idea what is causing them but the main symptom is frequent failures of
the tests to enter data into form fields. The form is then submitted
and an error displayed at which point the test script is off and
throws the NoSuchElementException.

We also see occasional failures of communication between the browser
(Firefox) and the test scripts. It's as if the test process just hangs
or WebDriver fails to respond to some request.

Sorry it's taken so long to provide feedback - we had a lot of
variables changing this past week and it took me a while to isolate
this portion of our build / test process to establish the failures
were categorically down to beta3 vs beta2.

The problems aren't entirely reproducible. With beta2, our test suite
always runs correctly. With beta3 our test suite _sometimes_ runs
correctly. Mostly with beta3 it fails on one of the first few tests
(not always the first one tho'!) where it is supposed to type form
data and submit a form and either it doesn't type the form data (but
still submits the form) or it just hangs. Occasionally it fails
further on, just hanging - and eventually throwing an exception that
it cannot communicate with the browser (if we leave it long enough).

Sean

Daniel Gregoire

unread,
Mar 10, 2013, 7:36:05 PM3/10/13
to clj-we...@googlegroups.com

Sean,

Thanks for providing feedback. You guys seem to have one of the largest, most diverse test suites of anyone here, so I was willing to wait. On top of that, my wife finally gave birth to the newest addition to our family on Friday, so I've been busy.

If you would, please try checking out the clj-webdriver source code at the Git tag v0.6.0-beta3, then replace the dependency on Selenium-Webdriver from what it is to what it was at v0.6.0-beta2. Use that custom build and please verify whether or not that results in the same behavior.

I'm always game to blame myself first, but this should be easy for you to test without much effort. I probably won't get a lot done on the project while on paternity leave, but I will tackle it as soon as possible.

-Daniel

Sean Corfield

unread,
Mar 11, 2013, 1:01:07 PM3/11/13
to clj-we...@googlegroups.com
Initial testing looks promising. So far I've not seen a failure using
selenium-server 0.26.0 (which was what was used in 0.6.0-beta2).
Looking at Selenium's changelogs, they've made a number of changes in
Firefox support between then and 0.30.0 (used in 0.6.0-beta3) so I
suspect we're bumping into something there, especially since they've
changed their default HtmlUnitDriver version from Firefox 3.6 to
Firefox 10 and added support up to Firefox 19.

(we're forced to used Firefox 3.6 for some old direct Selenium tests
not written with clj-webdriver otherwise I'd try moving to a newer
Firefox and test against 0.30.0 although given the recent improvements
in Safari support in selenium-server I might switch to that and see
how 0.6.0-beta3 does with Safari as well)

Sean Corfield

unread,
Mar 11, 2013, 2:47:37 PM3/11/13
to clj-we...@googlegroups.com
Hmm, clj-webdriver doesn't support :safari yet but I can try the
direct org.openqa.selenium.safari.SafariDriver it seems. Something
wonky in my config right now tho'... I get the initial Safari
connection up but then it switches to Firefox anyway... digging...

I might also try Chrome (although, so far, I haven't gotten that
working at all in the past).

Daniel Gregoire

unread,
Mar 11, 2013, 6:12:55 PM3/11/13
to clj-we...@googlegroups.com

Thank you for trying several combinations. When things fail in a non-deterministic fashion, it's often related to changes at the driver level, at least in my experience.

For Safari, you're welcome to add in an entry for it and submit that as a pull request. I've just never gotten around to including all the supported browsers.

If you do narrow this down to an upstream issue with Selenium-WebDriver, please post something on their mailing list and/or issue queue so we can get this resolved. If a resolution is not forthcoming, I'm prepared to release different artifacts for clj-webdriver so that improvements in its API can be released despite any bugs that remain on the SW side of things.

- Daniel

semperos

unread,
Mar 21, 2013, 8:25:07 AM3/21/13
to clj-we...@googlegroups.com
Sean,

Any further findings? Has dropping the Selenium-WebDriver version lower than 2.30 completely solved your non-deterministic failures? Have you given the more recent 2.31 a try?

-Daniel

Sean Corfield

unread,
Mar 23, 2013, 2:36:11 AM3/23/13
to clj-we...@googlegroups.com
I've been at back to back conferences and now I'm at the breed
national cat show. I haven't had a chance to spend much time working
with other versions. My initial experiments with the latest version fo
clj-webdriver with the earlier version of selenium-webdriver looked
good but I've not dug deep...

Sean Corfield

unread,
Apr 6, 2013, 2:06:20 AM4/6/13
to clj-we...@googlegroups.com
After a fair bit of testing I can confirm that clj-webdriver
0.6.0-beta3 updated with the earlier version of selenium-webdriver
seems to cause no problems for us, but using the newer
selenium-webdriver version does.

I have not been able to dig beyond that yet, to discover what exactly
broke things in selenium-webdriver, in order to file a bug against
that project.

Sean

Daniel Gregoire

unread,
Apr 6, 2013, 8:29:53 AM4/6/13
to clj-we...@googlegroups.com

Sean, thanks for the final update. I think I'm going to go ahead and release the next version of clj-webdriver, since it's long overdue. I'd point you and anyone else experiencing issues with the latest Selenium-WebDriver release to my instructions in a recent thread on this list about using the :exclusions key in your project.clj dependencies or equivalent in your Maven pom.xml to exclude clj-webdriver's own version of Selenium-WebDriver and include the version you need to use as a direct dependency for your own code base.

With that in mind, I will attempt not to use any breaking changes present in these newer Selenium-WebDriver releases until such time as folks confirm that these problems have passed. I will also add all this information to the clj-webdriver documentation.

-Daniel

Reply all
Reply to author
Forward
0 new messages