First off, hi, I’m officially a Developer Advocate now. Read the Work section below.
I’ve updated my site to link to all the social networks I’m on (wow). I’m not loving the new changes to Twitter, so even though I’m almost at 3000 Twitter followers, I’m going to start posting things in all the places, not just Twitter. I’m currently getting the most engagement on LinkedIn, and I’m bullish on Threads as the eventual Twitter replacement for short form posts. Follow me where you want to see content:
I gave a talk at the virtual Testμ Conference on Transitive Testing. It’s essentially positing that you can replace pieces of UI testing with HTTP calls to an API for setting state and validating results, and still maintain confidence in the results. The key is to test API output against both UI and API output to ensure one can be replaced by the other. It wasn’t a workshop, but I created working code examples for it.
I got a lot of traction with posts about how big of a deal Selenium 4.11 is. It is the culmination of almost a year of work, and makes getting started with Selenium significantly easier: Twitter, LinkedIn, Mastadon, Bluesky. I also got a nice shout-out about it from Joe Colantonio.
Finally, I got an article published on The New Stack about how Unit tests are overrated. It’s a topic I’ve thought about for a number of the years (I gave a lightning talk about it at Selenium Conference in Portland in 2015). The basic idea is that too few people figure out reliable integration tests and end up missing bugs by focusing on impossible situations in unit tests. The article was also featured in the 100th Issue of Software Testing Notes.
Open Source Development
GitHub says I only made 50 commits in 8 repos this month. It feels like more, but then a lot of work I do for open source isn’t directly committing code.
I released Selenium 4.12 yesterday. Most of the work on it was cleaning up problems found in the new Selenium Manager features. I fixed several bugs (some of which I caused) in .NET and Ruby bindings (which all took way more time than they should have).
I also released Watir 7.3, which included a couple minor features and some maintenance. Watir is still completely compatible with the latest version of Selenium, and is the best choice for doing automated testing with a browser, especially if you prefer to code in Ruby.
Sauce Labs Work
In June I was transferred out of the Sales Department at Sauce Labs and into the Marketing Department to become a Senior Developer Advocate (I’m still figuring out what all this means). By the end of 2019, Sauce Labs had a dream team of senior Solution Architects (Nikolay, Josh, Wim, Andrew, and me) all working for Marcus. It was pretty special; we did a mix of tooling, advocacy, training, and customer support. During the pandemic, the team changed and people left and we became increasingly customer focused such that there wasn’t bandwidth to do any of the other interesting things. Now that Nikolay & I are both Developer Advocates, we are getting to do many of the same things we did 4 years ago, but the focus is on supporting the community as a whole, not just Sauce Labs customers. I’m really excited to see where this goes. I’m still working with customers answering the hard Selenium questions and giving talks and seminars on good testing practices, but thankfully not as much helping with containers, proxies and CI tools.
I’m not even going to promise to write an article on anything, even though I still have a dozen of them half written.
- September 7: I’m doing a live virtual panel discussion about the release of Selenium 4.12 with Nikolay, Diego, Jim and Boni.
- September 8: I’m teaching a virtual workshop for TestFest in Africa! This is quite exciting. I’ll be doing a 2 hour version of the Crafting a Test Framework with updated code.
- September 21: I’m giving a live and in person talk with Marcus in San Francisco about Addressing the Testing Bottleneck
Planned Dev Work
The big item to get done for Selenium 4.13 is to cache Selenium manager in the
This will help everyone because there are a number of issues raised concerning permissions problems,
and it’ll be easier to help people if the changes only need to be made in one place. It’ll be especially nice for Java users
because currently each process copies the binary into a temporary directory, which can end up
being a performance hit. I did a trial implementations in Ruby and Boni did one in Java, so we just need to match up the logic then
implement it in the other languages.
- There is so much Selenium code I want to write, but I’m trying to minimize my time in the code or it will eat my life (again)
- A number of people have asked about why Selenium Manager is cool, so I’d like to do a long screen capture showing off all the scenarios of what the tool is doing and why it is making such a big difference
- I want to go through the Selenium Documentation and markup the status of everything that needs updating (What code is missing, what needs implementing, what descriptions are missing, what code is out of date, etc)
- Sauce Labs is going to be launching a cool new community tool that I can’t wait to share with people
Ok, that’s… a longer update than I’d planned, but so many things…