Fabian is a Technology Leader working in Sydney, Australia. This Blog contains his personal opinions and observations on technology and software development.
Testing large, complex web applications is a monumental challenge. As applications grow, so does the test suite. Traditional test automation frameworks, often built on the Page Object Model (POM), can become brittle, hard to maintain, and difficult for non-technical stakeholders to understand. What if we could build a framework that was not only robust and scalable but also produced living documentation that the entire team—from developers to business analysts—could use? In this post, we'll build a production-grade test automation framework from the ground up. We'll combine the power of modern tools and patterns to create a solution that is maintainable, readable, and ready for the demands of large-scale applications. Table of Contents The Dream Team: Our Technology Stack Why This Stack? The Core Concepts Setting Up the Project: The Bluepri...
I work with multiple OSes, programming languages and frameworks so here is a tip on keeping your git repos clean. I create a global .gitignore file to exclude platform related files (OS and IDE) and then when I create a new project I create a project specific .gitignore for the project related files which is specific to the languages and frameworks I am using in the project. Creating a global gitignore on a Mac You may name the file and place it where you want. I typically just name it .gitignore and store at '~/.gitignore'. Set it by running the following in a terminal: git config --global core.excludesfile '~/.gitignore' Example global gitignore Here is my global which I place at '~/.gitignore' Project specific gitignore GitHub have created a repo as a guide for what to include in your .gitignore for specific languages and frameworks: https://github.com/github/gitignore .
In the world of software engineering, the ground is constantly shifting beneath our feet. New frameworks emerge, languages evolve, and best practices are redefined. The pressure to "keep up" can feel overwhelming. But what if we stopped seeing learning as a frantic race and started treating it as a core, sustainable part of our craft? True, lasting growth isn’t about cramming for the next tech trend. It's about building a robust, personal system for learning that integrates seamlessly into your work. It's about evolving from a specialist or a generalist into something far more powerful. Let's break down the playbook for building this sustainable learning habit. The Goal: The "T-Shaped" Individual Before we talk about how to learn, let's define the why . The ultimate goal for a modern engineer isn't just to be a deep expert in one thing (an "I-shaped" individual) or a shallow generalist ...
Comments