Hotel Planisphere

This site is a sandbox to practice test automation.

This site aims to learn browser automation with running automation scripts against this site as the system under test.

You can refer to this site from any places such as books and blogs under MIT License.

It is made for learning test automation, but you can also use it to learn test design and technique.

Site Structure

This site provides mocked booking hotel feature. It has input forms to log in, sign up, and reserve a room. The layout is mobile friendly by responsive design.

Terms of Use

  • We confirmed sample code worked with the latest Google Chrome in July 2020.
  • This site is working on GitHub pages.
  • About input data
    • The data is stored in the browser's Cookie, Session Storage and Local Storage.
    • The data is NOT stored in the server side such as database.
    • Due to the specification of HTML, the contents of the form are sent as the last part of the URL. Please note that it may be left in the GitHub server's logs and other records.
  • Do NOT use this site for stress testing.
  • We do not take any responsibilities by using this site.

Details

Login Page

This page contains simple text inputs and a button. The login information is stored in a Cookie. You can use the users you have saved on the sign up page, or preset ones (see below).

Sign up Page

This page contains multiple types of inputs. The users registered on this page are stored in Local Storage and can be used for login.

My Page

This page is displayed after you logged in. Registered user information is displayed and can be used for confirmation. And if the user is saved on the sign up page, you can set the icon image and cancel the membership (delete information).


Plans Page

This page is displayed from "Reserve" menu. The displayed plan will change depending on whether you are "not logged in", "a normal member" or "a premium member". Plan information is loaded asynchronously via Ajax (except for the top ones).

Reservation Page

This page is for making a reservation, and opened in a new window. This page contains multiple types of inputs, and the total price is dynamically calculated and displayed. The base rate and the number of nights and number of allowed people will change depending on the plan you selected.

Confirmation Page

This page will be displayed after the reservation is confirmed. You will see a confirmation of the information you have entered in the reservation. And, an animated dialog will appear.

Preset users
# Email Password Membership
1 clark@example.com password premium
2 diana@example.com pass1234 normal
3 ororo@example.com pa55w0rd! premium
4 miles@example.com pass-pass normal

Example codes

Below resources are automation scripts against this site. They help you to learn writing automation scripts.

For Java developer
selenide
Framework
Selenide
Programming language
Java
Testing framework
JUnit 5
View codes
For JavaScript developer
webdriverio
Framework
WebDriverIO
Programming language
JavaScript
Testing framework
Mocha
View codes
For Ruby developer
capybara
Framework
Capybara
Programming language
Ruby
Testing framework
RSpec
View codes
For Java developer
selenium4-java
Framework
Selenium WebDriver
Programming language
Java
Testing framework
JUnit 5
View codes