I’m happy to announce that my book is finally available. I’m publishing it through LeanPub and the version that is released is a beta. This means that I will be publishing updates every few weeks until a the final book is complete.
You can get your copy on the LeanPub site. I hope you enjoy the book.
It has been a few months since I have posted anything on my blog and a lot of good things have happened. First of all, I have had 5 releases of the page-object gem since my last post. This post will explain one of the many new features added to page-object.
On February 12th I released a new version of my page-object gem. There are some very exciting features that have made it into page-object over the past few releases. I have been totally focused on finishing up my book and haven’t blogged for some time. This post is my attempt to showcase some of these new features.
*** DEPRECATION WARNING
*** You are calling a method named table.
*** This method does not exist in page-object so it is being passed to the driver.
*** This feature will be removed in the near future.
*** Please change your code to call the correct page-object method.
*** If you are using functionality that does not exist in page-object please request it be added.
You might see a warning similar to this one when you use the new page-object release. I am planning on removing something that current exists in the gem. This post will explain what and why.
I just released a new version of the page-object gem today and it contains a nice new feature. This new feature will make it very easy to apply a set of data to a screen and have it populate all of the fields. This feature, when combined with a new gem I plan to announce soon, will allow for dynamic default data that can be used to drive a web application. This data can be managed within the pages or externally.
This post is an actual section from chapter 5 of my book. It introduces the concept of Default Data and also shows how to use this new feature.
One difficulty testers run into when they are new to driving browsers with cucumber is knowing how to handle sites that contain a lot of ajax calls. They write scripts that assume the elements on the page exist and are shocked when the tests fails because it was trying to access something that wasn’t on the page yet.
In this post I’ll write a simple scenario that demos the async handling capabilities in the page-object gem. I’ll also briefly introduce you to a new gem that I use to generate my new projects. I’ll do all of this by writing a scenario that uses one of the examples google has provided to demo the GWT libraries. For those of you who have taken one of my classes you will already be familiar with this example but perhaps there are still a few things here for you to learn. Let’s get started writing the code!