Git Product home page Git Product logo

serenity-screenplay-train-demo's Introduction

These exercises are part of the Serenity Dojo training program, and are designed to help developers and testers learn how to work with Serenity Screenplay on real-world applications.

The problem domain

This repository contains a number of real-world projects for Serenity Screenplay students to experiment with. Each mini-project will involve writing realistic tests for a real-world website. In this exercise, you will be testing the booking system of the South West Rail Website].

The example will use the following persona:

  • Tracy, a student who likes to book her tickets at the last minute, and
  • Bill, a businessman who plans trips in advance and likes to travel in First Class

Scenario 1 - The one where Tracy books a one-way ticket from Reading to Oxford leaving now

Tracy buys a single ticket from Reading to Oxford. The 'Buy Tickets' form

Expected outcomes

She should see "Reading to Oxford" on the result page heading, and at least one matching trip. Add displayed trips should show the duration and the ticket type (e.g. "Off-peak day single"), and specify that the trips start at Reading and go to Oxford ("Reading > Oxford"). Search results

Scenario 2 - The one where Tracy books a return ticket from Reading to Oxford leaving now and returning tomorrow

Tracy books a return ticket from Reading to Oxford, returning sometime tomorrow. She selects the first available outbound trip: Search results

Expected outcomes

She should now see a list of return trips. The heading should be "Oxford to Reading", add displayed trips should show the duration and the ticket type (e.g. "Off-peak day single"), and specify that the trips start at Oxford and go to Reading ("Oxford > Reading"). Search results

Scenario 3 - The one where Bill books a return ticket from Reading to Oxford leaving tomorrow

Bill books a return ticket from London Kings Cross to York, leaving tomorrow and returning in three days time. He selects the first available trains for the outgoing and return trip.

Expected outcomes

He should now have the option to upgrade to First Class:

Search results

Scenario 4 - The one where Bill views the details of a trip for a direct trip

Bill books a single ticket from Reading to Bath Spa. He clicks on the "Direct" button for the first trip

Expected outcomes

He should now see the details of the trip, including the departure station and time, and the arrival station. The Departure and Arrival stations should match the requested route.

Search results

Scenario 5 - The one where Bill views the details of a trip for a trip with changes

Bill books a single ticket from Cardiff Central to York. He clicks on the "1 CHG" button for the first trip

Expected outcomes

He should now see the details of the trip, including the departure station and time, the arrival station and time, and the connecting station and connection time. The Departure and Arrival stations should match the requested route.

Search results

serenity-screenplay-train-demo's People

Contributors

wakaleo 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.