
Exploring Agentic AI with Block’s Goose and Selenium MCP: Tips and Demos
When I’m not spending my weekends on such life affirming tasks as taking son to football practice, watching Gladiators or drinking wine, I like to indulge in some hands on learning. At the moment its been focussed on chipping away at the ever expanding pool of knowledge surrounding AI and test automation. Here are some of my recent posts:-
https://beththetester.wordpress.com/2025/02/03/exploring-ai-with-github-browser-tips-and-demos/
https://beththetester.wordpress.com/2025/02/09/new-postman-ai-features-for-quality-engineers/
https://beththetester.wordpress.com/2025/02/03/exploring-ai-with-github-browser-tips-and-demos/
https://beththetester.wordpress.com/2024/11/17/exploring-ai-tools-and-their-applications/
For the last few weekends, I’ve been mucking about with Block’s open-source AI agent, Goose, integrated with Angie Jones’ Selenium MCP server.
TLDR: Video
The Setup
Goose is an interesting development from Block (formerly Square) that can dynamically load extensions and interact with various tools. For this experiment, I used the selenium-angie extension, which provides a suite of Selenium WebDriver commands wrapped in an AI-friendly interface. This means that Goose can perform selenium tasks such as opening a browser, clicking a button etc. by simply entering in a natural language prompt such as:-
Navigate to OrangeHRM demo site. Login using the credentials provided then logout.
Now, as Goose themselves admit, the focus for rollout of this new tool (was only released in February) was on Linux and Mac installations. As a Windows user, this meant getting the following to work was fiddly and (for me) quite hard work:-
Installing Goose – not currently available on Windows, so had to first run a few commands to install via wsl (something I hadn’t used before so was largely unfamiliar with)
open powershell admin session
wsl –install
curl -fsSL https://github.com/block/goose/releases/download/stable/download_cli.sh | bash
Configuring Goose – this was the least troublesome aspect as the cmd line interface was pretty user friendly. When they integrate the UI though it’ll be loads better.
Adding Extensions to Goose
As Angie Jones mentions (see sources for recent Github livestream) there are two main go to places to find Extensions (or MCP servers) for Goose.
Goose Itself
https://block.github.io/goose/v1/extensions/
Open source via Pulse
https://www.pulsemcp.com/servers
Each of these is a really great resource to explore to find Agent extensions you can plug into Goose to get it to assist you with certain tasks. However what I was most interested in was test automation, so when Angie said she was working on a Selenium Webdriver MCP server I knew I had to try it out.
I was able to quickly find her brand new Selenium Webdriver MCP server on Angie’s github repo and get it from there – her Readme file was super helpful:-
https://github.com/angiejones/mcp-selenium
Getting extensions working in Windows Goose was fiddly for someone unfamiliar with the process, but again, I’m sure this’ll get easier as the product develops.
For example, if you get an error when running Goose Session about an extension not working such as:-
Failed to start the MCP server from configuration Stdio(selenium-angie: npx -y @angiejones/mcp-selenium)
`Call to ” failed for ‘initialize’. Error from mcp-server: Stdio process error: npm error code ERR_INVALID_URL\nnpm error Invalid URL\nnpm error
try installing nvm onto the session via:-
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.3/install.sh | bash
source ~/.bashrc
nvm install node
nvm install –lts
then “goose session” should work
Adding additional installations in order for Goose to be able to work with the extension (e.g. I needed to install Chrome via WSL so that Selenium Webdriver could work). As I had Chrome installed on my machine I didn’t put two and two together and realise it also needed to be installed via WSL. Luckily Goose was able to point me in the right direction, but it wasn’t able to install it for me.
The Experiment
Using the demo HR website OrangeHRM tasked Goose with performing several common HR system operations:
- Logging into OrangeHRM using demo credentials
- Adding a new employee named “Deborah Shmeborah”
- Attempting to verify leave balances
- Successfully logging out
Observations
What’s fascinating about this approach is how Goose handles the automation steps:
- It automatically structures the Selenium commands in a logical sequence
- It handles element location using various strategies (XPath, CSS, name)
- It can recover and attempt alternative approaches when initial attempts fail
- It maintains context throughout the entire session
Technical Insights
The most frequently used Selenium commands were:
click_element
for navigation and button interactionssend_keys
for data inputfind_element
andget_element_text
for verification attempts
Challenges and Learning
While Goose successfully handled basic operations, it did encounter some challenges with dynamic elements during the leave balance verification. This highlights an important aspect of AI-driven automation: the need for robust error handling and alternative approach strategies. At this stage, it really would have been much faster, at least in Windows, to just create a selenium framework and get it to do the same thing.
Conclusion
This experiment demonstrates the potential of agentic AI in test automation. While not perfect, tools like Goose show promise in making test automation more accessible and
maintainable. The integration with well-established testing resources like Angie Jones’ Selenium MCP provides a solid foundation for practical experimentation. I hope that open source tools like this will empower people who have good ideas but are light on the “how” of technical implementation to get something off the ground.
What excites me most is the potential for combining AI agents with traditional test automation approaches. As these tools evolve, they could significantly change how we app
roach software testing.
Sources
Huge thankyou to Angie Jones for what she is doing in this space, including raising the profile of Test Automation.