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.

Back