Coder Social home page Coder Social logo

pizza-delivery's Introduction

Scenarioo

Automated Documentation of Applications with UI Tests

Scenarioo is a tool to leverage the power of your UI tests and to make them available as a documentation of your software system to all people involved in the design, development, test, operation and management of your software system.

Webpage & Documentation

For more information about Scenarioo, see the following resources:

Live Demo

You can see an example Scenarioo documentation and the Scenarioo Viewer Web App in action in our demo:

http://demo.scenarioo.org

Downloads & Links

Downloads and more links, even for different releases (like forthcoming release candidates) can be found under Downloads & Links

CI/CD Build Server

https://circleci.com/gh/scenarioo

Master: Latest Stable Release Build Status

Develop: Current Development State Build Status

License

Scenarioo is mainly distributed under GNU General Public License, which enables you to use the tool freely.

The Writer Libraries use GNU license with linking exception, for freely linking it even in your commercial products (if needed at all).

Most examples are provided using BSD license, which even allows you to copy these code examples freely.

See LICENSE.txt and further LICENSE-files for different licenses of different components in some subproject folders and especially in our separate library and example repositories, hosted under https://github.com/scenarioo

pizza-delivery's People

Contributors

adiherzog avatar bruderol avatar danielsuter avatar davidlahner avatar forkch avatar ideco avatar mi-we avatar

Stargazers

 avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Forkers

mi-we

pizza-delivery's Issues

Migrate Pizza Sample to JUnit 5

sitting at Devoxx talk by the JUnit guys about Junit I realize it might be important to have a junit 5 example for Scenarioo soon.

With junit5 integration of scenarioo should be even more elegant.

@ideco and @adiherzog what do you think?

Improve Scenarioo Reporter

Some findings from junit5 refactoring to be addressed in both versions (junit4 and junit5) of the example:

  1. Exception information (stacktrace) should be attached to scenarioo report on test failure.

  2. WebDriver is initialized to listen for all interactions for each use case - shouldnt the listener only start to report during test execution (such that a test could do some test preparation without reporting it?)? Currenty it looks a bit weird this initialization is only done once per test class. In junit5 there is a special hook for BeforeTestExecution that could be used for that.

    • also this kind of opening the browser for each use case leads to browser poping always up again during test execution on desktop for many tests (maybe we should reuse the browser somehow)
  3. ScenariooEventListener: better rename to ScenariooStepReporter or even WebDriverStepReporter?

  4. UseCaseContext:

    • I think we should rename this to "ScenriooReporterContext" or something similar, since it holds more than just the use case
    • Ideas for junit5 only:
      • maybe it would be better to not handle that as a Singleton through the context holder but directly hold it inside the reporter ??
      • also we should later change it to use more of the JUnit 5 context info - see class ExtensionContext (e.g. DisplayName!)
  5. Further Ideas for Junit 5 only:

    • support Tag annotation from junit5

Jenkins Build: Automatic deployment of app under test to github pages

Introduce a simple step in the build pipeline to publish current verison of the application under test on github page of the repo

Acceptance criterias

  • Cureent version of appication under test on master branch is automatically published to our github page under http://scenarioo.org/pizza-delivery
  • The links on the README page are adjusted accordingly

** Implementation details**

  • move application under test from prod to src/main/resources/app or something similar (more realistic compared to a real project, also by default picked up as resource directory by gradle?)
  • In Jenkins pipeline: Everytime this directory has changes deploy its content to gh-pages branch (into root dir) - by commit and pushing on github (using technical scenarioo-ci user)
  • Adjust README to directly link to root of github pages for seing the app under test

Prepare Example for Scenarioo 4.0

The README.md contains instructions that will be wrong with 4.0

  • differnet location of config.xml!
  • wrong version number!

Caution: this can only be done after the release!

Jenkins Build: Make it work for feature branches and pull requests

Accpetance criterias

  • If a featurer branch is opened like feature/{issueNumber}-{description} and a pull request is opened for such a branch and some changes are pushed to it , then the build will run and report success or failure of verifying it properly to the Pull Request on Github
  • verify this works for a failing test
  • verify this works for a succesful build

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.