Exploring Agentic AI with Block’s Goose and Selenium MCP: Tips and Demos

Published on March 3, 2025

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/30/creating-an-ai-assisted-test-framework-in-under-two-hours/

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:

  1. Logging into OrangeHRM using demo credentials
  2. Adding a new employee named “Deborah Shmeborah”
  3. Attempting to verify leave balances
  4. 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 interactions
  • send_keys for data input
  • find_element and get_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.