41554 blogs · [ { "id": "01a08c56-7d18-7294-a7a1-bea853e43241", "title": "The thoroughness of Tom Johnson's free Documenting API's course on OpenAPI 3.0 and Swagger UI", "url": "https://www.tjmaher.com/2026/09/the-thoroughness-of-tom-johnsons-free.html", "published_at": "2026-09-09T21:17:32+00:00" }, { "id": "01a08c56-7d19-72f9-9839-ea1c16489af7", "title": "Testing the Swagger Petstore: Manually Testing An API Using Swagger UI", "url": "https://www.tjmaher.com/2026/09/testing-swagger-petstore-manually.html", "published_at": "2026-09-07T16:43:41+00:00" }, { "id": "01a08c56-7d19-72f9-9839-ea1c16fdf537", "title": "Testing the Swagger Petstore: Reviewing API Documentation Formatted in OpenAPI 3.0 with Swagger UI", "url": "https://www.tjmaher.com/2026/09/reviewing-api-documentation-formatted.html", "published_at": "2026-09-05T03:09:27+00:00" }, { "id": "01a08c56-7d19-72f9-9839-ea1c17c66e69", "title": "Publishing Playwright HTML reports on GitLab Pages", "url": "https://www.tjmaher.com/2026/08/publishing-playwright-html-reports-on.html", "published_at": "2026-08-29T23:56:10+00:00" }, { "id": "01a08c56-7d19-72f9-9839-ea1c1880abfa", "title": "Examining the artifacts job of a Playwright GitLab CI / CD pipeline", "url": "https://www.tjmaher.com/2026/08/examining-artifacts-job-of-playwright.html", "published_at": "2026-08-29T23:19:22+00:00" }, { "id": "01a08c56-7d19-72f9-9839-ea1c19573e1a", "title": "How Developers Can Test Their Feature Branch Against Various Playwright Configurations Before Creating a Merge Request in GitLab CI/CD", "url": "https://www.tjmaher.com/2026/08/how-developers-can-test-their-feature.html", "published_at": "2026-08-28T20:18:08+00:00" }, { "id": "01a08c56-7d19-72f9-9839-ea1c19888ee7", "title": "Setting up a CI/ CD pipeline with GitLab: Quality, Test and Report", "url": "https://www.tjmaher.com/2026/08/setting-up-ci-cd-pipeline-with-gitlab.html", "published_at": "2026-08-25T02:28:52+00:00" }, { "id": "01a08c56-7d19-72f9-9839-ea1c1a6f1f1b", "title": "How to Configure Playwright Test to run smoke tests, headed tests, and debug versions through scripts in package.json", "url": "https://www.tjmaher.com/2026/08/how-to-configure-playwright-test-to-run.html", "published_at": "2026-08-20T02:13:32+00:00" }, { "id": "01a08c56-7d19-72f9-9839-ea1c1b004c44", "title": "Implementing Page Objects in Playwright", "url": "https://www.tjmaher.com/2026/08/implementing-page-objects-in-playwright.html", "published_at": "2026-08-16T22:04:38+00:00" }, { "id": "01a08c56-7d19-72f9-9839-ea1c1bd81d74", "title": "How Playwright Frameworks get configured with playwright.config.ts", "url": "https://www.tjmaher.com/2026/08/how-playwright-frameworks-get.html", "published_at": "2026-08-15T02:30:20+00:00" }, { "id": "01a08c56-7d19-72f9-9839-ea1c1c29715b", "title": "Running Tests with Playwright Test Explorer and Generating Tests with Codegen", "url": "https://www.tjmaher.com/2026/08/running-tests-with-playwright-test.html", "published_at": "2026-08-11T03:00:47+00:00" }, { "id": "01a08c56-7d19-72f9-9839-ea1c1d2897f1", "title": "Checking code with lint, formatting it with prettier", "url": "https://www.tjmaher.com/2026/08/checking-code-with-lint-formatting-it.html", "published_at": "2026-08-10T23:23:45+00:00" }, { "id": "01a08c56-7d19-72f9-9839-ea1c1da9fbc6", "title": "Add Type Checking and TSConfig to Bun-Create-Playwright", "url": "https://www.tjmaher.com/2026/08/add-type-checking-and-tsconfig-to-bun.html", "published_at": "2026-08-08T03:10:43+00:00" }, { "id": "01a08c56-7d19-72f9-9839-ea1c1dcbf656", "title": "What happens when you scaffold a Playwright framework and run installed tests using bun?", "url": "https://www.tjmaher.com/2026/08/what-happens-when-you-create-playwright.html", "published_at": "2026-08-06T17:37:06+00:00" }, { "id": "01a08c56-7d19-72f9-9839-ea1c1e45beb1", "title": "Introducing bun, a new package manager and JavaScript runtime environment", "url": "https://www.tjmaher.com/2026/08/introducing-bun-new-package-manager-and.html", "published_at": "2026-08-06T01:58:25+00:00" }, { "id": "01a08c56-7d19-72f9-9839-ea1c1e597df0", "title": "Does giving a presentation via Zoom to the Sydney Testers Meetup make me an international speaker?", "url": "https://www.tjmaher.com/2026/06/does-giving-presentation-via-zoom-to.html", "published_at": "2026-06-30T00:51:55+00:00" }, { "id": "01a08c56-7d19-72f9-9839-ea1c1e6ac915", "title": "Achievement Unlocked: T.J. Maher Elected to the Board of Directors of the Software Quality Group of New England - SQGNE.org", "url": "https://www.tjmaher.com/2026/06/achievement-unlocked-volunteer-director.html", "published_at": "2026-06-17T23:26:28+00:00" }, { "id": "01a08c56-7d19-72f9-9839-ea1c1e6e35ee", "title": "Testing and AI Workshop by James Bach of Rapid Software Testing - Notes", "url": "https://www.tjmaher.com/2026/06/testing-and-ai-workshop-by-james-bach.html", "published_at": "2026-06-12T18:10:14+00:00" }, { "id": "01a08c56-7d19-72f9-9839-ea1c1eadde47", "title": "New Position Unlocked: Senior SDET at AAA Life Insurance, starting Monday, June 15th, 2026!", "url": "https://www.tjmaher.com/2026/06/new-position-unlocked-senior-sdet-at.html", "published_at": "2026-06-04T02:16:39+00:00" }, { "id": "01a08c56-7d19-72f9-9839-ea1c1f6237ff", "title": "SDET Lean Coffee #1: With AI, what is useful testing and what is workslop? SQGNE, June 2, 2026", "url": "https://www.tjmaher.com/2026/06/sdet-lean-coffee-1-with-ai-what-is.html", "published_at": "2026-06-02T20:35:29+00:00" }, { "id": "01a08c56-7d19-72f9-9839-ea1c203bcdef", "title": "Come join us at the next SQGNE Meeting! Open-Source Malware: Defending Your Software Supply Chain From Evolving Threats - June 17, 2026", "url": "https://www.tjmaher.com/2026/06/come-join-us-at-next-sqgne-meeting-open.html", "published_at": "2026-06-02T02:34:08+00:00" }, { "id": "01a08c56-7d19-72f9-9839-ea1c20c73433", "title": "Need a speaker at your Software Testing Meetup? How about a talk about putting together a React Native mobile testing framework?", "url": "https://www.tjmaher.com/2026/05/need-speaker-at-your-software-testing.html", "published_at": "2026-05-30T00:22:04+00:00" }, { "id": "01a08c56-7d19-72f9-9839-ea1c212ce90a", "title": "Practicing Playwright: API Testing, Intercepting Network Requests, and Mocking APIs", "url": "https://www.tjmaher.com/2026/05/practicing-playwright-api-testing.html", "published_at": "2026-05-28T02:20:30+00:00" }, { "id": "01a08c56-7d19-72f9-9839-ea1c21353ea0", "title": "Practicing Playwright: Visual Testing With Playwright", "url": "https://www.tjmaher.com/2026/05/practicing-playwright-visual-testing.html", "published_at": "2026-05-21T12:46:54+00:00" }, { "id": "01a08c56-7d19-72f9-9839-ea1c219c3089", "title": "SQGNE Lecture is tonight! Building a React Native Mobile Automated Test Framework with T.J. Maher", "url": "https://www.tjmaher.com/2026/05/sqgne-lecture-is-tonight-building-react.html", "published_at": "2026-05-20T14:12:23+00:00" }, { "id": "01a0821a-5470-7375-9927-2337e432c621", "title": "Practicing Playwright: Dynamically Creating Test Data with a DataFactory", "url": "https://www.tjmaher.com/2026/05/practicing-playwright-dynamically.html", "published_at": "2026-05-14T04:27:50+00:00" }, { "id": "01a0df44-07f2-7266-8823-dcb0105d3d48", "title": "Practicing Playwright: How to Detect Broken Images On Your Site", "url": "https://www.tjmaher.com/2026/05/practicing-playwright-how-to-detect.html", "published_at": "2026-05-13T20:36:36+00:00" }, { "id": "01a0df44-07f2-7266-8823-dcb0113e3f6c", "title": "Pramod Dutta discusses 7 Playwright features senior SDETs use daily", "url": "https://www.tjmaher.com/2026/05/pramod-dutta-discusses-7-playwright.html", "published_at": "2026-05-11T20:52:22+00:00" }, { "id": "01a0df44-07f2-7266-8823-dcb011f65266", "title": "Practicing Playwright: Logging in by Storing and Using an Authentication Cookie in Your Automated Tests", "url": "https://www.tjmaher.com/2026/05/practicing-playwright-logging-in-by.html", "published_at": "2026-05-11T01:31:28+00:00" }, { "id": "01a0df44-07f2-7266-8823-dcb012936b9b", "title": "So much job interview prep! Playwright + TypeScript + GitLab", "url": "https://www.tjmaher.com/2026/05/so-much-job-interview-prep-playwright.html", "published_at": "2026-05-08T02:59:24+00:00" }, { "id": "01a0df44-07f2-7266-8823-dcb013074458", "title": "A field guide to the AI menagerie: every model family, ranked by vibes, according to Claude", "url": "https://www.tjmaher.com/2026/05/a-field-guide-to-ai-menagerie-every.html", "published_at": "2026-05-04T12:00:00+00:00" }, { "id": "01a0df44-07f2-7266-8823-dcb013cad26d", "title": "Thinking Out Loud: The Power of Chain-of-Thought Prompting, Step-By-Step, by Google AI", "url": "https://www.tjmaher.com/2026/05/thinking-out-loud-power-of-chain-of.html", "published_at": "2026-05-03T13:19:30+00:00" }, { "id": "01a0df44-07f2-7266-8823-dcb013f619fa", "title": "When I Sound Confident But Have No Source, A Note from Claude", "url": "https://www.tjmaher.com/2026/05/when-i-sound-confident-but-have-no.html", "published_at": "2026-05-03T02:12:36+00:00" }, { "id": "01a0df44-07f2-7266-8823-dcb014a8556e", "title": "The History of Contract Testing with Pact.io", "url": "https://www.tjmaher.com/2026/04/the-history-of-contract-testing-with.html", "published_at": "2026-04-22T17:46:02+00:00" }, { "id": "01a0df44-07f2-7266-8823-dcb01553b8df", "title": "What happens when you pair Playwright with something other than TypeScript?", "url": "https://www.tjmaher.com/2026/04/what-happens-when-you-pair-playwright.html", "published_at": "2026-04-22T16:28:26+00:00" }, { "id": "01a0df44-07f2-7266-8823-dcb015a901de", "title": "Integrated Tests are a Scam: The Lecture That Sparked Pact.io", "url": "https://www.tjmaher.com/2026/04/integrated-tests-are-scam-lecture-that.html", "published_at": "2026-04-18T02:12:00+00:00" }, { "id": "01a0df44-07f2-7266-8823-dcb015da0e8c", "title": "Here's One Simple Trick I do as an SDET to Ramp Up Quickly at a New Company!", "url": "https://www.tjmaher.com/2026/04/heres-one-simple-trick-i-do-as-sdet-to.html", "published_at": "2026-04-16T13:49:00+00:00" }, { "id": "01a0df44-07f2-7266-8823-dcb01676d462", "title": "Can You Prompt Claude Into Being A Good Tester? Experiments with AI-Assisted Testing", "url": "https://www.tjmaher.com/2026/04/can-you-prompt-claude-into-being-good.html", "published_at": "2026-04-14T14:50:00+00:00" }, { "id": "01a0df44-07f2-7266-8823-dcb017063a59", "title": "Python Project: Blogger Spam Bulk Deleter Code Walkthrough: Pair-Coded with Claude but Human Explained!", "url": "https://www.tjmaher.com/2026/04/python-project-blogger-spam-bulk.html", "published_at": "2026-04-01T12:48:00+00:00" }, { "id": "01a0df44-07f2-7266-8823-dcb017b196fd", "title": "When Claude Acts Like a Clod: Catching AI Fabrications: A QA Engineer's Field Notes", "url": "https://www.tjmaher.com/2026/03/how-ive-detected-claudes-fabrications.html", "published_at": "2026-03-31T18:30:00+00:00" }, { "id": "01a0df44-07f2-7266-8823-dcb01848d46a", "title": "Becoming AI QA: Jupyter Notebook + Python", "url": "https://www.tjmaher.com/2026/03/becoming-ai-qa-jupyter-notebook-python.html", "published_at": "2026-03-29T04:55:00+00:00" }, { "id": "01a0df44-07f2-7266-8823-dcb0192d8c82", "title": "QA Blogosphere", "url": "https://www.tjmaher.com/2026/03/qa-blogosphere.html", "published_at": "2026-03-29T02:21:00+00:00" }, { "id": "01a0df44-07f2-7266-8823-dcb019f5fdc7", "title": "Becoming AI QA: Why Python? How AI and Python became linked", "url": "https://www.tjmaher.com/2026/03/why-python-how-ai-and-python-became.html", "published_at": "2026-03-27T16:50:00+00:00" }, { "id": "01a0df44-07f2-7266-8823-dcb01adf6134", "title": "Becoming AI QA: Would becoming an AI QA Engineer make myself more marketable? What should I study?", "url": "https://www.tjmaher.com/2026/03/would-becoming-ai-qa-engineer-make.html", "published_at": "2026-03-27T05:07:00+00:00" }, { "id": "01a0df44-07f2-7266-8823-dcb01b893203", "title": "Conversations with Claude: Why do QA Engineers call it 'Test Setup' or setting up 'Pre-Conditions' for a test, while DEVs calls it 'Seeding'?", "url": "https://www.tjmaher.com/2026/03/conversations-with-claude-why-do-qa.html", "published_at": "2026-03-20T03:23:50+00:00" }, { "id": "01a0df44-07f2-7266-8823-dcb01c55f3a5", "title": "Save the Date: Automation Guild talk Building a React Mobile automated test framework using Detox + TypeScript is April 6, 2026", "url": "https://www.tjmaher.com/2026/03/save-date-automation-guild-talk.html", "published_at": "2026-03-17T15:21:04+00:00" }, { "id": "01a0df44-07f2-7266-8823-dcb01cbf45f8", "title": "Claude Sonnet 4 Talks About Designing a Cypress Framework for a Login Screen", "url": "https://www.tjmaher.com/2026/03/claude-sonnet-4-talks-about-designing.html", "published_at": "2026-03-17T02:20:00+00:00" }, { "id": "01a0df44-07f2-7266-8823-dcb01d5b4e92", "title": "My Villain profile: The Bug Necromancer!", "url": "https://www.tjmaher.com/2026/03/my-villain-profile-bug-necromancer.html", "published_at": "2026-03-12T01:43:00+00:00" }, { "id": "01a0df44-07f2-7266-8823-dcb01dddd984", "title": "Need a Software Developer in Test? #OpenToWork", "url": "https://www.tjmaher.com/2026/03/need-software-developer-in-test.html", "published_at": "2026-03-08T04:13:00+00:00" }, { "id": "01a0df44-07f2-7266-8823-dcb01ea20722", "title": "Getting Slides ready for my Detox + TypeScript talk for TestGuild!", "url": "https://www.tjmaher.com/2026/03/getting-slides-for-my-detox-typescript.html", "published_at": "2026-03-05T20:33:00+00:00" }, { "id": "01a0df5c-8ba0-70ad-822a-8be56bf6a0c7", "title": "GitHub Copilot Over-Engineered My Playwright Framework Then Blogged About It! An AI's Perspective on Test Automation Industry Standards", "url": "https://www.tjmaher.com/2026/03/github-copilot-over-engineered-my.html", "published_at": "2026-03-03T15:54:00+00:00" }, { "id": "01a0df5c-8ba0-70ad-822a-8be56c563230", "title": "One new LinkedIn advertising banner to go! Thank you Claude AI!", "url": "https://www.tjmaher.com/2026/03/one-new-linkedin-advertising-banner-to.html", "published_at": "2026-03-02T03:16:00+00:00" }, { "id": "01a0df5c-8ba0-70ad-822a-8be56cabb26e", "title": "Investigating AI: Playwright-Test-Planner and Playwright-Test-Generator", "url": "https://www.tjmaher.com/2026/02/investigating-ai-playwright-test.html", "published_at": "2026-02-18T21:10:00+00:00" }, { "id": "01a0df5c-8ba0-70ad-822a-8be56d32f025", "title": "AI: Good as a Research Assistant. Bad for Creating GitHub Action Workflows", "url": "https://www.tjmaher.com/2026/02/ai-good-as-research-assistant-bad-for.html", "published_at": "2026-02-12T17:21:00+00:00" }, { "id": "01a0df5c-8ba0-70ad-822a-8be56dc1cbf8", "title": "New Project: Cursor creates a Playwright + C-Sharp test framework", "url": "https://www.tjmaher.com/2026/02/new-project-cursor-creates-playwright-c.html", "published_at": "2026-02-12T03:50:00+00:00" }, { "id": "01a0df5c-8ba0-70ad-822a-8be56e41a9a5", "title": "New project: Creating an automated test framework in Playwright + C# using GitHub Copilot", "url": "https://www.tjmaher.com/2026/02/new-project-creating-automated-test.html", "published_at": "2026-02-10T03:53:00+00:00" }, { "id": "01a0df5c-8ba0-70ad-822a-8be56e5e672e", "title": "New Features of Detox Demo: Security Scanning + Android Support + Cross-Platform Builds!", "url": "https://www.tjmaher.com/2026/02/new-features-of-detox-demo-security.html", "published_at": "2026-02-06T19:22:00+00:00" }, { "id": "01a0df5c-8ba0-70ad-822a-8be56f117ebf", "title": "Creating a GitHub Actions Workflow for Android Detox Testing with GitHub CoPilot? What Could Go Wrong?", "url": "https://www.tjmaher.com/2026/02/creating-github-actions-workflow-for.html", "published_at": "2026-02-04T22:09:00+00:00" }, { "id": "01a0df5c-8ba0-70ad-822a-8be56f57f66a", "title": "The Facebook Ecosystem: React, React Native, Metro, and Yarn", "url": "https://www.tjmaher.com/2026/02/detox-demo-5.html", "published_at": "2026-02-03T15:53:00+00:00" }, { "id": "01a0df5c-8ba0-70ad-822a-8be56fdaa093", "title": "Hands on Automated Testing with Playwright is the start of a wonderful conversation with the Playwright community!", "url": "https://www.tjmaher.com/2026/01/hands-on-automated-testing-with.html", "published_at": "2026-01-30T19:10:00+00:00" }, { "id": "01a0df5c-8ba0-70ad-822a-8be570179f2d", "title": "#OpenToWork: Looking for My Next Test Automation Adventure!", "url": "https://www.tjmaher.com/2026/01/opentowork-looking-for-my-next-test.html", "published_at": "2026-01-23T18:35:00+00:00" }, { "id": "01a0df5c-8ba0-70ad-822a-8be5701a9d3b", "title": "AI wants to take over QA? Let it!", "url": "https://www.tjmaher.com/2026/01/ai-wants-to-take-over-qa-let-it.html", "published_at": "2026-01-23T16:44:00+00:00" }, { "id": "01a0df5c-8ba0-70ad-822a-8be570927da4", "title": "DetoxDemo: Now with more GitHub Action Workflow CI/CD Options!", "url": "https://www.tjmaher.com/2026/01/detoxdemo-now-with-more-github-action.html", "published_at": "2026-01-22T18:31:00+00:00" }, { "id": "01a0df5c-8ba0-70ad-822a-8be571428662", "title": "New Features of Detox Demo: CI/CD + Logging + Reports, oh my!", "url": "https://www.tjmaher.com/2026/01/new-features-of-detox-demo-cicd-logging.html", "published_at": "2026-01-20T16:07:00+00:00" }, { "id": "01a0df5c-8ba0-70ad-822a-8be571eabb56", "title": "My LinkedIn Year in Review - AI Style head to head matchup between Coauthor.Studio and Claude.ai.", "url": "https://www.tjmaher.com/2026/01/my-linkedin-year-in-review-ai-style.html", "published_at": "2026-01-08T22:06:00+00:00" }, { "id": "01a0df5c-8ba0-70ad-822a-8be5727db764", "title": "First Time Using GitHub CoPilot to Create a ReactNative LoginPage app. What Could Go Wrong?", "url": "https://www.tjmaher.com/2026/01/first-time-using-github-copilot-to.html", "published_at": "2026-01-04T13:21:00+00:00" }, { "id": "01a0df5c-8ba0-70ad-822a-8be5735ccf3a", "title": "DetoxDemo, my first vibe-coded React Native app, is now complete", "url": "https://www.tjmaher.com/2025/12/vibe-coding-detoxdemo-my-first-react.html", "published_at": "2025-12-30T04:00:00+00:00" }, { "id": "01a0df5c-8ba0-70ad-822a-8be574588d3e", "title": "Beware the Hallucinations When Coding with AI", "url": "https://www.tjmaher.com/2025/12/beware-hallucinations-when-coding-with.html", "published_at": "2025-12-02T12:53:00+00:00" }, { "id": "01a0df5c-8ba0-70ad-822a-8be574f5d272", "title": "Two months at SELF already? Happy Anniversary!", "url": "https://www.tjmaher.com/2025/09/two-months-at-self-already-happy.html", "published_at": "2025-09-23T14:44:00+00:00" }, { "id": "01a0df5c-8ba0-70ad-822a-8be575dc9272", "title": "New Playwright Course: Playwright Essential Training by Butch Mayhew", "url": "https://www.tjmaher.com/2025/06/new-playwright-course-playwright.html", "published_at": "2025-06-11T20:46:00+00:00" }, { "id": "01a0df5c-8ba0-70ad-822a-8be575fad8f7", "title": "Time to Practice Playwright!", "url": "https://www.tjmaher.com/2025/05/time-to-practice-playwright.html", "published_at": "2025-05-29T02:28:00+00:00" }, { "id": "01a0df5c-8ba0-70ad-822a-8be576ef9882", "title": "Test Guild: Building a Career in QA with Judy Mosley", "url": "https://www.tjmaher.com/2025/05/i-absolutely-loved-this-weeks-episode.html", "published_at": "2025-05-20T20:11:00+00:00" }, { "id": "01a0df5c-8ba0-70ad-822a-8be5778b2a0c", "title": "When building out automation frameworks, keep the stakeholders in mind", "url": "https://www.tjmaher.com/2025/05/when-building-out-automation-frameworks.html", "published_at": "2025-05-15T17:07:00+00:00" }, { "id": "01a0df5c-8ba0-70ad-822a-8be57847b8b1", "title": "How automation recaptures the magic of testing", "url": "https://www.tjmaher.com/2025/05/how-automation-recaptures-magic-of.html", "published_at": "2025-05-14T16:00:00+00:00" }, { "id": "01a0df5c-8ba0-70ad-822a-8be5789dc916", "title": "Need a SDET with 10 years experience for a Remote / Hybrid position in Boston?", "url": "https://www.tjmaher.com/2025/04/need-sdet-with-10-years-experience-for.html", "published_at": "2025-04-14T15:48:00+00:00" }, { "id": "01a0df87-8b3b-7259-9625-6131cd6bea75", "title": "Stepping down from being a Meetup Organizer of Ministry of Testing - Boston", "url": "https://www.tjmaher.com/2024/03/stepping-down-from-being-meetup.html", "published_at": "2024-03-19T20:49:00+00:00" }, { "id": "01a0df87-8b3c-72a1-a673-51ea5bb1b87c", "title": "The Cheezy Internet: Composing tests using Cucumber and Gherkin", "url": "https://www.tjmaher.com/2021/11/the-cheezy-internet-composing-tests.html", "published_at": "2021-11-08T05:34:00+00:00" }, { "id": "01a0df87-8b3c-72a1-a673-51ea5ca3455b", "title": "The Cheezy Internet: Writing Ruby + Watir tests for The-Internet", "url": "https://www.tjmaher.com/2021/11/the-cheezy-internet-writing-ruby-watir.html", "published_at": "2021-11-07T04:13:00+00:00" }, { "id": "01a0df87-8b3c-72a1-a673-51ea5caba54a", "title": "The Cheezy Internet: Installing Ruby + Watir + Chromedriver + VS Code on Windows 10", "url": "https://www.tjmaher.com/2021/11/the-cheezy-internet-installing-ruby.html", "published_at": "2021-11-06T04:15:00+00:00" }, { "id": "01a0df87-8b3c-72a1-a673-51ea5cc159b0", "title": "The Cheezy Internet: Creating a Ruby + Watir + Cucumber automation framework with Jeff Morgan's Page-Object gem", "url": "https://www.tjmaher.com/2021/11/the-cheezy-internet-creating-ruby.html", "published_at": "2021-11-05T12:58:00+00:00" }, { "id": "01a0df87-8b3c-72a1-a673-51ea5d8e1320", "title": "Just purchased a new automation development book, Cucumbers and Cheese: A Tester's Workshop", "url": "https://www.tjmaher.com/2021/11/just-purchased-new-automation.html", "published_at": "2021-11-04T21:15:00+00:00" }, { "id": "01a0df87-8b3c-72a1-a673-51ea5e2e9979", "title": "Long time no hear!", "url": "https://www.tjmaher.com/2021/10/long-time-no-hear.html", "published_at": "2021-10-02T12:28:00+00:00" }, { "id": "01a0df87-8b3c-72a1-a673-51ea5e4fd23d", "title": "Exploring WebdriverIO - Installation", "url": "https://www.tjmaher.com/2020/08/exploring-webdriverio-installation.html", "published_at": "2020-08-08T17:41:00+00:00" }, { "id": "01a0df87-8b3c-72a1-a673-51ea5f1ac555", "title": "The next step in my automation development journey", "url": "https://www.tjmaher.com/2020/06/the-next-step-in-my-automation.html", "published_at": "2020-06-09T18:10:00+00:00" }, { "id": "01a0df87-8b3c-72a1-a673-51ea5f1b15ef", "title": "Hello, Verily! Can't wait until June 15th!", "url": "https://www.tjmaher.com/2020/06/hello-verily-cant-wait-until-june-15th.html", "published_at": "2020-06-04T17:09:00+00:00" }, { "id": "01a0df87-8b3c-72a1-a673-51ea5ffbd90a", "title": "Why hire me as an SDET? Some recommendations.", "url": "https://www.tjmaher.com/2020/04/why-hire-me-as-sdet-some-recommendations.html", "published_at": "2020-04-15T18:48:00+00:00" }, { "id": "01a0df87-8b3c-72a1-a673-51ea60899e62", "title": "SDET looking for full-time opportunities in Downtown Boston", "url": "https://www.tjmaher.com/2020/04/sdet-looking-for-full-time.html", "published_at": "2020-04-14T19:37:00+00:00" }, { "id": "01a0df87-8b3c-72a1-a673-51ea61605cc4", "title": "New article on the Threat Stack blog: How to Write an Automated Test Framework in a Million Little Steps", "url": "https://www.tjmaher.com/2020/03/new-article-on-threat-stack-blog-how-to.html", "published_at": "2020-03-24T17:22:00+00:00" }, { "id": "01a0df87-8b3c-72a1-a673-51ea61790a87", "title": "November MOTB Lightning Talks are now on YouTube!", "url": "https://www.tjmaher.com/2019/11/november-motb-lightning-talks-are-now.html", "published_at": "2019-11-15T18:55:00+00:00" }, { "id": "01a0df87-8b3c-72a1-a673-51ea621e1c62", "title": "Wed Nov 11, 2019: Come visit Mabl's new office tomorrow for an evening of lightning talks!", "url": "https://www.tjmaher.com/2019/11/wed-nov-11-2019-come-visit-mabls-new.html", "published_at": "2019-11-12T17:01:00+00:00" }, { "id": "01a0df87-8b3c-72a1-a673-51ea62cd1a67", "title": "Five Tips On How Testers Can Collaborate With Software Developers", "url": "https://www.tjmaher.com/2019/10/five-tips-on-how-testers-can.html", "published_at": "2019-10-23T12:00:00+00:00" }, { "id": "01a0df87-8b3c-72a1-a673-51ea62e04fba", "title": "10 Automated Testing Tools That Threat Stack Uses — and Why", "url": "https://www.tjmaher.com/2019/10/10-automated-testing-tools-that-threat.html", "published_at": "2019-10-17T17:04:00+00:00" }, { "id": "01a0df87-8b3c-72a1-a673-51ea63ae2861", "title": "Are you sure the buses are still listed? Interacting with APIs with Ruby + NET::HTTP + Gauge", "url": "https://www.tjmaher.com/2019/09/gauge-ruby-api-2.html", "published_at": "2019-09-12T20:41:00+00:00" }, { "id": "01a0df87-8b3c-72a1-a673-51ea64669cad", "title": "Are you sure the buses are still listed? Setting up data-driven API tests with Ruby + NET::HTTP + Gauge", "url": "https://www.tjmaher.com/2019/09/gauge-ruby-api-1.html", "published_at": "2019-09-04T16:38:00+00:00" }, { "id": "01a0df87-8b3c-72a1-a673-51ea64b064cd", "title": "Come see Angie Jones, fresh from her world tour at the Ministry of Testing - Boston Meetup on September 23, 2019", "url": "https://www.tjmaher.com/2019/08/come-see-angie-jones-fresh-from-her.html", "published_at": "2019-08-12T19:29:00+00:00" }, { "id": "01a0df87-8b3c-72a1-a673-51ea6544a9fd", "title": "My free course \"Introduction to Capybara\" is now online!", "url": "https://www.tjmaher.com/2019/07/my-free-course-introduction-to-capybara.html", "published_at": "2019-07-19T17:27:00+00:00" }, { "id": "01a0df87-8b3c-72a1-a673-51ea658d8f8e", "title": "New to coding? Learn Java through Angie Jones' TestAutomationU", "url": "https://www.tjmaher.com/2019/07/new-to-coding-learn-java-through-angie.html", "published_at": "2019-07-12T01:00:00+00:00" }, { "id": "01a0df87-8b3c-72a1-a673-51ea666005cb", "title": "Five Tips How Software Testers Can Collaborate With Software Developers", "url": "https://www.tjmaher.com/2019/06/five-tips-how-software-testers-can.html", "published_at": "2019-06-28T03:05:00+00:00" }, { "id": "01a0df87-8b3c-72a1-a673-51ea668773a9", "title": "Notes: Selenium 4 With Simon Stewart", "url": "https://www.tjmaher.com/2019/06/notes-selenium-4-with-simon-stewart.html", "published_at": "2019-06-25T13:00:00+00:00" }, { "id": "01a0df87-8b3c-72a1-a673-51ea66bd2ee7", "title": "Notes: The Ministry of Testing's Introduction to HTTP by Mark Winteringham", "url": "https://www.tjmaher.com/2019/06/notes-ministry-of-testings-introduction.html", "published_at": "2019-06-05T01:34:00+00:00" } ] posts Claim your blog
Back to Adventures in Automation
Blog · corpus.blog/blogs/tjmaher.com/posts

Adventures in Automation

tjmaher.com

2026

2025

2024

2021

2020

2019