Cypress E2E


18th June 2025

🚀 Bringing It Back to Life – Cypress, FastAPI, and the Power of Small Wins 🛠️

I did it – the 3-year-old Cypress tests are finally running again! 🎉 After updating the framework to the latest Cypress release (which has evolved a lot), I found myself re-learning parts of the tool. The Cypress runner feels like a whole new experience now – powerful, sleek, and ready for deeper exploration. Honestly, it deserves a whole series of articles or videos at this point .

But back to the repo:

✅ Tests are green again

🔐 Login now navigates to the homepage

📦 Page Object Model implemented (inspired by the Playwright repo)

🤖 Both Cypress & Playwright test suites now run automatically on each code push to the portfolio page

So what’s next? 🧭

All these small side projects are finally starting to come together, and it got me thinking. Since GitHub Pages doesn’t support a backend , I’m planning to bring in my FastAPI project (originally built for a Pytest API automation framework). It features a MongoDB-backed user system with basic POST and GET endpoints. The Plan is...

🧱 Containerize the FastAPI backend

☁️ Host it in the cloud (likely via Google Cloud Run, Render or Fly.io)

🔗 Connect the portfolio login to the backend

🎯 Have a real-world, full-stack mini project — with front-end, back-end, and automated end-to-end testing

It’s exciting to see all the puzzle pieces click into place. This is more than just fixing old tests — it’s shaping up to be a complete testing playground. Stay tuned. More updates (and probably a few bugs 😅) to come!

4th June 2025

🚀 Reviving My Cypress Testing Workflow: A Three-Year Journey

Three years ago, I built a simple login page with a straightforward purpose—to serve as a testing ground for different frameworks. At the time, the tests were basic but functional, fulfilling their job well enough. Fast forward to today: I revisited the repo for Cypress, and getting everything up and running again took longer than expected. After troubleshooting and setting it back up, I reflected on how testing workflows evolve and how much more I could do with this project.

🔗 Linking the Login to the Homepage: The Next Step

Now that Cypress is operational again, I plan to enhance my testing approach by connecting the login page to my homepage upon successful authentication. This integration will pave the way for more complex end-to-end (E2E) testing scenarios, allowing for a more realistic user flow validation. It's not just about testing the login anymore—it’s about ensuring smooth navigation and interaction across the platform.

🛠 Rewriting Login Page Tests & Expanding Cypress Validation

With the login functionality established, the next step is to rewrite the login page tests from scratch, leveraging Cypress’s powerful features. The goal is to create a more robust test suite that covers edge cases and provides deeper validation of the login flow. Once that's done, I'll shift focus to testing the portfolio website comprehensively, ensuring each page behaves as expected under different conditions.

🤖 Automating Tests with GitHub Actions

To streamline the development process, I plan to integrate Cypress tests into GitHub Actions, ensuring that every push to the portfolio repository triggers automated testing. This will run inside Docker, alongside Playwright tests, creating a comprehensive CI/CD testing workflow. The synergy of Cypress and Playwright will allow for both UI-focused and functional tests, covering a broad range of scenarios efficiently.

🔮 What’s Next?

Beyond Cypress and Playwright integration, the roadmap remains open-ended. The focus is on building a resilient, automated testing strategy that evolves with the project. Whether it’s adding performance monitoring, API testing, or improving CI/CD workflows, the journey is far from over. But for now, the mission is clear: solidify the testing framework, automate wherever possible, and keep refining the development pipeline.

This is just the beginning of a more structured and efficient testing approach — let’s see where it leads! 🚀