Thursday, December 26, 2019

Tester's toolbox #2 - Awesome Testing Christmas edition


Contents:

1) Introduction
2) Selenium starter guide
3) Rest API
4) Rest Assured starter guide
5) Contract tests
6) Afterword

1. Introduction

It's been more than three years since I released one of my most popular posts - Tester's toolbox - an alternative guide. Today I'd like to share tools and projects created by me for various occasions (public speaking, teaching on Vistula University or just self-learning). All of those repositories are 100% free to use.

2) Selenium starter guide (Java, Maven)


Selenium knowledge is still one of the most demanded testing skills on the market. Strong contender may have emerged with Cypress, but its certain limitations (Chrome only, Javascript only) mean that Selenium dominance won't disappear anytime soon. 

My project contains the following features:

a) Very detailed setup guide (including Java install and running your first test)

This often-overlooked point tends to slow down newcomers a lot. Let's be honest - Java project setup is not easy.

b) Refactoring to page object pattern

The project contains few branches (see README) which can be used as a model of learning page object pattern. In small steps, I show how to get rid of the Selenium API in tests.

3) Rest API (Java, Spring Boot, Gradle)


I needed sample API for Rest Assured tests so I created one in Spring Boot. Nothing fancy here, just Gradle and Spring Controllers. API is easily expandable. You don't need any additional setup - there is in memory h2 database.

4) Rest Assured starter guide (Java, Maven)


A simple starter guide for API tests written using one of the most popular API testing tools - Rest Assured. Nice extension of my previous post on this subject:

Similar to Selenium starter guide project, it contains a nice and easy setup guide.

5) Contract tests (Java, Gradle, Pact)


Last but not least! A project which took me a while to implement and test thoroughly. Main features include:

a) Selected and recommended theoretical sources about contract tests
b) Contract tests on both Consumer and Provider side written using Pact
c) Scripted Pact Broker setup
d) Spring MVC tests
e) Wiremock stubbings

I'll describe this one in greater detail soon.

6) Afterword

I know that I haven't been very active on this blog recently but great things are about to come here very soon. In 2020 you can expect contract tests, mobile tests, Cypress, Kotlin, Javascript and maybe even Python.

Happy new year! :)

1 comment: