Back to projects
Higher Education UI Automation

Higher Education UI Automation

Nathan Martin / August 4, 2024

This project was my first job experience straight out of college and I'm glad this is the job I got. It had everything that I needed to learn and grow as a developer. This is where I learned about UI automation with selenium, the first time I ever used git and github, and the first time that I learned how to work with a professional team.

I dove straight into UI automation learning about the page object model, how to select elements, how to complete an End to End test, and how to review code. From a QA perspective, I think the biggest take away that I got from this project was learning when not to use automation.

Yes, automation is awesome in so many ways. It can save use time and redundant tasks, add stability and confidence in the overall product but also add complexity and maintenance overhead. It's important to weigh the benefits against the costs and decide when automation is the right choice.

After realizing I can ask the question if this should be automated we started seeing the benefits of automation. We were able to save time and reduce the number of manual tests we had to run. We were also able to increase the stability of our product by automating the tests that were most likely to fail.

Later on our automation testing started to shift left and more towards the development process. We switched to typescript and playwright and BDD. This allowed us to complete automation scripts within the sprints and got closure to features shipping with proper testing.

Features

  • Cross Browser Support: Using Playwright allowed for cross-browser testing (Chrome, Firefox, Webkit).
  • Screen shots and recordings: This helped with debugging and troubleshooting.
  • Continuous Integration: The tests were under the main project which allowed for easy integration with CI/CD pipelines.
  • Continuous Deployment: This gave us higher confidence in the product and reduced the time to market.

Technologies

  • Playwright: Playwright enables reliable end-to-end testing for modern web apps
  • Typescript: Typescript is a superset of JavaScript that adds static typing.
  • BDD: Behaviour Driven Development is a software development process that encourages collaboration between developers, QA and business stakeholders.