No commit activity in last 3 years
No release in over 3 years
This gem provides a way to create a dynamic usable DSL framework representing your website or app. Implementing Selenium/Appium driver and YAML configurations, this API will provide a layer in between your automation code and the driver. By creating YAML configurations that represents your website/app, the DSL framework in turn will reflect your configuration and allow you to control the automation through the DSL framework. Using this gem can help remove tedious tasks that are often repeated throughout code and help improve the scalability of code by mapping UI in YAML configuration files.
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
 Dependencies

Development

~> 0.8
~> 0.11
~> 5.10
~> 1.2
= 0.10
>= 0
~> 3.4
~> 0.4
~> 0.1
~> 0.9

Runtime

 Project Readme

AutomationObject

Travis Master Coverage Status

Configuration based dynamic DSL framework for UI automation.

This framework takes your created UI configurations and translates that into a usable DSL framework composite representing your website. It encapsulates many UI automation problems, supports integration to many different drivers, and has built in Cucumber step definitions to get your tests up and running quick. With this, you can create scalable automation tests quickly.

NOTE: This is a alpha library

Portions of the project are still incomplete as well as testing. It is possible to use cucumber steps, YAML/HASH configuration adapters, selenium/appium drivers

Git branches/issues/etc...

Since this is just a personal project committing directly to master, not doing issues. If have more people using or contributing will formalize to whichever works for everyone

Steps to Complete Before Beta

May add more steps in the future as I add more to the project

  • XML driver and any additional test drivers (ie selenium)
  • Page object configuration style classes for blueprints
  • Complete integration testing/fixes with different drivers, inputs, tests
  • Majority Completion of Unit Tests

Features

  • Supports Appium, Selenium, Nokogiri as drivers
  • Encapsulates automation logic
  • Translates UI configuration to descriptive/usable language
  • Cucumber step definitions to get your tests up and running fast
  • DRY UI test development

Installation

gem install automation_object

Generated Docs

  1. Code Documentation (YARD Generated)
  2. RubyCritic Report

Cucumber Step Definition Docs

There are a number of Cucumber step definitions available within this gem to help you UI test.

Fully working example

Test Integration contains examples for automation using AutomationObject. Fully contained project with a Rails app so that testing AutomationBot can be done without running into issues like bot protection.

I included the needed drivers so it is mostly free of dependencies. Also created a mac_osx.sh script contained that helps install any base programs you may need. If you want to do it manually can follow the script and download those components or use whatever you have.