6/17/2023 0 Comments Hammerspoon hacksSometimes the meetings are a book club, other times a team member will present a mighty feat of engineering. Recently, we used a Continuous Learning meeting to share some of our favorite tips and tricks amongst ourselves. In Favorite Things, Oprah shared noteworthy or impactful products which audience attendees would be awarded much to their joy, shock, disbelief and ecstasy.Īs a distributed team, Simple Thread gathers weekly to take part in a “Continuous Learning” activity. It looks something like this: const coreGlobals = [Ĭ Winfrey is famous for many reasons, but one of the most popular episodes of her eponymous talk show was her yearly “Favorite Things” Show - it’s actually so popular, years removed from Oprah, she still publishes her annual list. Instead, one of our talented engineers has used Cypress’ override capability to define a new cy.visit() function that will work for us. The fix of course, is that our pages shouldn’t do that - it’s kinda yuck. So they’re accessed through functions like window.top() - which won’t work during in Cypress. Some of our pages require variables that sit at the ‘top’ level of the browser window. We use Cypress - but - as you might be aware, Cypress runs in an iFrame. Not a hack per say, but in automation world, building your own DSL, that speaks an ubiquitous language everybody in the business understands improves the ease of maintenance of that tool by a lot and maintaining that abstraction was always worth it in my experience. What interesting shorcut hacks help improve your use of a tool? Have you ever hacked together a couple of tools to create something unexpected? If so, what was it and what happened? 9/10 things should not be hard because somebody already has encountered that exact issue and has shared a solution that you just need to find. Re-evaluate your strategy, re-evaluate your approach, re-evaluate your tool. We’re fortunate enough these days to have a huge amount of tools (see Day 6), it is even hard to keep on top of all of them. If you encounter resistance like that when using a tool, this is the world telling you are not using the right tool. What sort of things have you done and with that tool to get around this? Sometimes a tool just doesn’t quite work for you in how it was designed to be used. You don’t know magic until you’ve seen Bloom filters in action. ![]() Where’s the fun in just writing some page object (or the testing model du jour) for a website, when you could instead be using statistical analysis of gigantic data sets to ensure consistency of results across the whole thing? I sometimes think I’d love to have access to tooling that can do all the heavy lifting for me, but secretly I know that I love the challenge. ![]() When I needed to generate 3TB of random data and then ascertain if it was within X km of points of interest on the surface of the Earth using lat and long? I’m writing it. If I need a way to get one NUC to have five operating systems on it that I can switch between programmatically and have each talk to different USB ports with passthrough? That’s a ticket. If that means I need a serial log parser that also talks to Azure? That’s what I’m writing. So yeah, all my tooling is a hack, a bridge between what exists and what I need. I’ve always been on the edge of the testing industry. I’ve never worked long term on anything where existing test tooling is stable or viable to be honest. This is probably a legacy of the fact I’ve never worked on an e-commerce site. I’ve automated VM creation, I’ve tied slack to terraform and jenkins to produce testing infrastructure on demand in AWS, I’ve spent more time writing tooling than using pre-made tooling. Honestly most of my tooling is home rolled. Visit the 30 Days of Tools page and select the “Subscribe to Topic” button to receive each daily challenge direct to your inbox. Let’s learn from each other throughout October. Here are a few blogs that demonstrate the unexpected tools we can build and use in testing:įeel free to reply to this post and share wherever you like, on the MoT Slack, LinkedIn, Twitter using #30DaysOfTools, Racket, your blog, with your team and any place you feel might inspire yourself and others to do the same.
0 Comments
Leave a Reply. |