August Recap




August Recap

In an effort to publish more content, I’m trying to post (brief) monthly summaries of things I’ve been working on. Big things this month include speaking at TestMu Conference and releasing Selenium 4.12. Also, you should follow me on more social networks.



Running Selenium in Edge With IE Mode




Running Selenium in Edge With IE Mode

Internet Explorer is dead! Long live IE Mode. Selenium no longer supports the standalone browser, but it does support executing Microsoft Edge in IE Mode. I wrote C++ code (for the first time!) to make using the IEDriverServer in v4.5 easier to use. Plus, there are two common issues I’ll show how to address.



Intercepted Clicks




Intercepted Clicks

Testers often spend so much time fighting their code that they don’t always realize when a test failure is actually showing a real bug.



Custom Driver Command Executor




Custom Driver Command Executor

Selenium 4 introduced the ability to use browser specific features in Remote sessions, but in .NET it was especially onerous. A new class in Selenium 4.1 makes this functionality much easier to use.



December Recap




December Recap

In an effort to be more consistent with publishing articles, I’m posting monthly summaries of the things I’ve done. I did a lot of Selenium documentation work in addition to writing code this month.



November Recap




November Recap

I’m bad at writing articles for this site. I have dozens of posts from the past several years that are in various stages of progress, none of which are quite “good enough” to publish. Someone recently gave me a great suggestion that I just write what I’ve been up to professionally for the month and not worry about creating the code examples and getting everything perfect. So, I’m giving it a try…



Shadow DOM in Selenium




Shadow DOM in Selenium

I’ve seen numerous bugs reported for how Chrome v96 has changed the shadow root return values for Selenium. This is a feature, not a bug! Here’s how to work with the shadow DOM in Selenium 3 and 4.



Optimizing Page Factory




Optimizing Page Factory

While you should know by now that you should not be using the Selenium PageFactory class, it is by far the most common Page Object implementation in Java. If you are starting from scratch there are much better solutions; but if you are using PageFactory and you want to improve it without rewriting everything, here is a simple way to get better performance without sacrificing reliability.



The Valley of Success




The Valley of Success

In general, I dislike analogies when it comes to testing. Anything that starts with “testing is like…” Specifically, I hate mountain climbing analogies. They are always used to represent achievement in the face of something daunting, and there’s always a chasm of some kind that you have to cross along the way. The analogy always breaks down because testing is a continuous activity; there is no “top,” no ultimate achievement that can’t be undone by something released tomorrow. I think this analogy is the opposite of how we should think about testing, so I’ve come up with an analogy that is both more apt and more generalizable: The Valley of Success.



The TitusOnBDD Project




The TitusOnBDD Project

In response to the questions people have asked me about my talk on The Hidden Costs of BDD Tools, I’ve created a couple dozen short videos. I’m going to tweet them out over the course of the next couple days with the hashtag #TitusOnBDD, and the videos will all be posted on my YouTube channel. If anyone wants to have a longer conversation about the topic, we can do that in the comments here.