Wednesday, April 11, 2012

Graphene 1.0.0.Final Released

The Arquillian Graphene, the project focusing on making a real-browser automation a breeze, is now reaching first Final release.

The Graphene is joining rest of the Arquillian party, building on top of Arquillian framework integration and Drone extension, which reached their stable version yesterday.

The Mission

The project was started to address simplification of covering AJAX-enabled applications with browser automation tests.

While Selenium project is focusing on unified API, integration with variety of browsers, Graphene project is addressing the real-world testing challenges:
  • rapid development
    • straight-forward
    • readable API
    • fast turnaround
  • object-oriented
    • type-safe API
    • dependency injection of thread-local context
  • instabilities and speed of execution in continuous integration
    • jQuery selectors
    • request guards

Availability

The Graphene bits are available in JBoss Maven repository, dual-licensed under LGPL v2.1 (backward-compatibility) and ASL v2.0 (which uses rest of the Arquillian sub-projects).

For those who are already using the framework with Maven, you can simply increase the version to 1.0.0.Final.

You can start with the tests using our Getting StartJBoss Maven repositoryed guide.

The Future

Right now we are heavily working on making the new version of Graphene 2 on the road.

Selenium 2 with its WebDriver API made huge progress with API accessibility and readability - it's already pleasure to work with this API in Java world.

However still there are many lacks we are going to address with Graphene 2, building on top of concepts brought in Graphene 1 and adding new features, which opens world of new possibilities:
  • dependency injection of thread-local context
  • fast development turnaround
  • cross-cutting concerns (command interception)
  • request guards
  • page extensions
  • component objects
    • extension of page objects concept
  • JavaScript test execution from within Selenium test
If you enjoy testing and you are unsatisfied with the current browser automation tooling, it's perfect time to step in and help us to bring the future!

The Project Info

Wednesday, April 4, 2012

Full-Fledged Debugging for Mobile Browsers

A debugging of desktop applications is very common task in the world of web development. We might say the tooling here is highly developed and you can find everything you require and pretty easily. You can just use all those Firebugs, Chrome Web Inspectors, IE Developers Tools, etc.

Not so in world of mobile devices!

Hard Time Debugging Web Apps on Mobiles

The debugging applications on mobile were always problem - the mobile safari for iPhone/iPad offers you at least error console, so you might know when something is going wrong. The Android built-in browser does not even provide you such tool!

WebKit Web Inspector

But the WebKit based browsers has solution to this - they offers WebKit Web Inspector, which you might be familiar with from using Chrome/Safari.

Fortunately, WebKit functionality has arrived to mobile browsers yet!

Inspector for Safari / iPhone

From little bit of search, I have found Safari was enabled to use remote debugging bridge year ago!

Inspector for Chrome Beta / Android

But as Ubuntu/Android user, I wasn't able to use such a comfort. Until now!

I have upgraded my HTC to Android 4 yesterday and the Chrome Beta was the first application I installed there (it isn't available for previous Android releases).

Today I have dived into RichFaces issue which occurred on mobiles. What a pain it could be when trying to find the cause, since mobile browsers doesn't even provide you the exact line where JavaScript error has occurred.

And guess what? Chrome Beta already allows the same like Safari - WebKit Web Inspector through the USB debugging bridge.

How To...

The process is quite straight-forward: