Skip to content

Latest commit

 

History

1 Commit

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Introduction

Tests are divided into UI and API tests. Within those 2 categories below is specified what is tested in this project and what could be improved in the future.

Additional files

  • This readme
  • An installation script for all the required libraries to run the tests
  • A pipeline script implementation that makes use of parallel testing, multiple browsers and rerunfailed

Simple run script to try the tests:

  • robot -d logs . If you want to see the browsers:
  • robot -d logs -v S_HEADLESS:False .

UI

Only 1 browser is opened across a run, for efficiency. Tests however are always started with a new (clean) page for indepency's sake! An semi page-object model has been implemented to keep track of pages and related keywords and variables.

Homepage

  • Test for most of the components on the page
  • Tests for most of the external links / buttons on the page
  • Tests for login / logout functionality

Character Page

  • Test for most of the components on the page
  • Tests for all individual builds and corresponding stats
  • Tests for different values of names and error messages

Adventure Page

  • Test for most of the components on the page
  • Tests for all individual games and corresponding results (message, level change and stat change)
  • Test for completion of the game

Future Improvements

  • In general the id's are quite rare so the discussion with devs to improve on this would be nice :)
  • The login / logout functionality is shallowly tested since this functionality does nothing
  • More tests with input fields (like name) for special characters
  • Randomization of the order that games are played in, and more coverage in general for the games

API

All API tests have been put into 1 test suite because the endpoint is the same one

Get Builds

Current tests

  • good scenario, all builds
  • good scenario, all builds individually (could be done randomly as well in 1 test)
  • bad scenario, non existing build

Post Build

Current tests

  • good scenario, random build name, random valid stats
  • bad scenario, existing name
  • bad scenario, non existant stats

Future Improvements

  • Make test setup/teardown for session if you want to do more complex stuff
  • Improved validations based on expected values for strength, magic, agility and wisdom or other fields
  • For adding classes you could play around with more complex stat combinations

Improvements on a project level

  • Introducing 1 way of working with robocop/robotidy
  • Adding an actual pipeline/git implementation
  • Imports using pythonpath
  • Using a toml file for environments (only if they are ever added)

About

TestCoders Casus

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages