Giter Site home page Giter Site logo

watircukefm's Introduction

==   WatirCukeFM   ==

Webdriver + Cucumber + Feature Manager

Web Application which allows to managed cucumber features written in cucumber and runs them throughout browser.

Rails application and interface is cloned from https://github.com/cs3b/cucumber_fm/, and it has been extended with functionality of WatirCuke (https://github.com/gs/watircuke/)

Demo can be viewed on http://www.vimeo.com/17840436

== How to make it work?

1) Just clone the repo from "https://github.com/gs/watircukefm/"

2) install bundler (gem install bundle)

3) install all gems : bundle install 

4) run server (./script/server)

5) go to your browser and type url: http://localhost:3000/documentation/features


Application is divided for 3 parts:

- Business overview - contains list of available features, can be group by, search by tag and create new feature

  - After clicking on feature user can edit, save, manage file, navigate and run test in chosen browser. Started test, can be stopped in any time.

  - Running test will open new tab where test results will be shown (results are stored in "public/test_results" folder)

- Statistics - useful information about status of feature, estimation, state
  
- Results  - lists all test results, by clicking on its name user can view results or remove it if they are not needed anymore


IMPORTANT:

- All features are stored in "features" folder ( cucumber http://cukes.info )

- To get familiar with syntax just check "watircuke_step.rb" file or visit https://github.com/gs/WatirCuke-Bundles. You can clone https://github.com/gs/WatirCuke-Bundles and drop it into TextMate or Redcar for snippet support.

- Application makes screenshots if some step will fail.

- Can check for missing translation - just goto config/config.yml file and enter regexp for translation_tag and set check_translation to true

- Application supports Fixtures/Language files. They have to be dropped into : 'features/fixtures' path. 
      
      They need to be in YML format like:     
      
      login.yml:
      
      login:
        login_button: Sign up 
       
        Then you need type in your feature:

     Background:
        Given I load "login" fixture
      
     And then in scenario to use its content:
 
      I click the ":login.login_button" button   
      
- Before run go to "feaures/support" folder and rename "paths.rb_example" to "paths.rb"      

                                    

RUNNING:

Application can be run in different ways:                                                                                 

1) start server and run the test by clicking

2) when in folder type in terminal: ruby watircuke.rb  -- this will display help and info about how to run it from console



KNOWN ISSUES:

Problem:
 Some time when starting tests browser starts and hangs, page does not load.
 
Solution:
 Just kill the browser and test and starts once again.


Problem:
  Missing SYS-PROCTABLE gem
  
Solution
  To install sys-proctable platform (x86-mswin32-60 ,x86-freebsd-7 ,x86-linux ,x86-darwin-8 ,x86-solaris-2.10) need to specify : 

  Windows:
    gem install sys-proctable --platform="x86-mswin32-60"

  MacOsx
    gem install sys-proctable --platform="x86-darwin-8"

License: MIT

Have fun and contact me any time at grzegorz.smajdor[at]gmail.com

watircukefm's People

Contributors

gs avatar

Watchers

 avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.