About Geb, I still have aggravations using Geb, but it is significantly better than Selenium.
The page and module system is terrific for creating DRY and maintainable tests. The wait system addresses your concern; essentially, Geb runs a retry loop until a condition is met, and fails if the condition is not met within a specific limit. You still have to understand your markup. You may have noticed that I've done things like putting a marker attribute on the <body> to indicate when page initialization is complete (from Tapestry's perspective). Geb is a powerful tool that requires some level of adeptness to use properly. I know, because I started using it improperly, at least initially, and had to rewrite an entire test suite to get it right. By comparison, tapestry-test is an ugly hack that's years out of date, and lives on because we have inertia in the form of hundreds of tests. On Wed, Jul 31, 2013 at 8:39 AM, Lance Java <lance.j...@googlemail.com>wrote: > My 2p. > > I have had major headaches in the past maintaining selenium tests. The main > problems are getting selenium to wait until the client is in a certain > state. I found checking for AJAX responses or other custom conditions to be > very flaky. Sometimes the only solution was to Thread.sleep() which I > absolutely hate. Since geb is built on top of selenium, I can't see how it > solves the problem but maybe there's some funky logic that alleviates the > pain. I've ended up using selenium for simple sanity tests and never try to > get too involved because the maintenance cost is not worth it. > > I must say that the spock testing in Tapestry originally put me off because > I had to learn yet another language (ie groovy). I've since learned groovy > and found it very simple to pick up. I think that groovy really excels in > testing where you can very succinctly test code without the noise that java > sometimes requires. So, Spock testing gets a big thumbs up from me but I > can see how it might put some people off. > > Lance. > -- Howard M. Lewis Ship Creator of Apache Tapestry The source for Tapestry training, mentoring and support. Contact me to learn how I can get you up and productive in Tapestry fast! (971) 678-5210 http://howardlewisship.com