Hey everyone, after releasing my boilerplates and thinking of ways to improve it, I came up with the notion to create a generator/scaffolder for Calabash page objects. Note: Best results when paired with my app automation boilerplate
Introducing Calapog
Calapog takes the effort of creating multiple files and reduces it into a simple command, calapog generate.
Example
Add the calapog gem to your Gemfile and run bundle install
calapog generate SharedTestPage will generate 3 files as such:
features/pages/shared_test_page.rb with the contents:
class SharedTestPage < CommonPage
  def trait
  end
  def page_data_file
    'test_page'
  end
  private
end
features/android/pages/test_page.rb with the contents:
class Android::ClassPage < SharedClassPage
  include Calabash::Android
  private
end
features/ios/pages/test_page.rb with the contents:
class IOS::ClassPage < SharedClassPage
  include Calabash::IOS
  private
end
These files are generated in accordance with Calabash’s Cross Platform and many other examples paired with Calabash 2.0 implementations.
This is a very rough and barebones release. There is more on the roadmap. Such as a setup command which will take in the various paths for each file and the ability to customize what gets generated.