How to Automate Publishing to CSDN and WeChat MP Using Playwright (When APIs Fail)
Overview Today's focus was on automating article publishing to CSDN and WeChat MP (微信公众号) using Playwright, after CSDN deprecated its public Open API.…
Latest AI & ML news from Tech News
Overview Today's focus was on automating article publishing to CSDN and WeChat MP (微信公众号) using Playwright, after CSDN deprecated its public Open API.…
Email is the test surface nobody wants to own. It's asynchronous, depends on external providers, has its own version of "flaky" (sometimes a delivery …
If you've ever tried to run a large Playwright test suite in parallel — the kind that tests email verification flows, magic links, or password resets …
Most test automation demos are too clean. The demo app is stable. The login flow is simple. The selectors are obvious. The data is predictable. CI is …
MailHog was the go-to fake SMTP server for years. It's simple, free, and gets the job done locally. But if you've tried to use it in a modern CI pipel…
Сразу честно, чтобы вы понимали, с кем имеете дело: я из тех душнил, которые закатывают глаза, когда в сотый раз слышат «а давайте это все сделает ней…
I automated my Gumroad product screenshots with Playwright I recently started packaging a few small frontend projects as digital products, and one sur…
As indie hackers and backend developers, we love using modern browser automation frameworks like Playwright to handle heavy, JavaScript-rendered dynam…
Target: microsoft/playwright Issue: microsoft/playwright#39948 Status: local patch prepared and validated Patch commit: 269228a88 — fix(chromium): res…
TL;DR AI agents require structured JSON data (prices, specifications, availability), but modern e-commerce sites serve heavily obfuscated, JavaScript-…
This is where everything comes together. Over the course we built a layered Playwright TypeScript framework — fixtures, Page Objects, API + UI + integ…
Welcome to Part 6 . The framework is solid; now we add three powerful kinds of test that go beyond "click and assert text." Code for this chapter is t…
If you've ever tried to write a Playwright test that covers a full sign-up → email verification → login flow, you've hit the same wall: how do you act…
Chapter 11 tested reads, which need no identity. Most of an API is gated behind auth — creating articles, reading the current user, following people. …
Welcome to Part 3 — API Testing . Until now the API was our setup helper. Now we test it as a first-class surface. API tests need no browser, so they …
A test fails on CI with expect(locator).toBeVisible() failed . Now what? Guessing is slow and demoralizing. Playwright ships a genuinely excellent deb…
Welcome to the first chapter of a hands-on course where we build a production-grade Playwright + TypeScript automation framework — covering both API a…
I remember the first week I seriously used Playwright. I was migrating a 200-test WDIO suite. I thought it would take two weeks. It took four days. No…
I have a confession. For a long time I was a WDIO loyalist. I had built entire frameworks on it, trained teammates on it, and defended it in every "wh…
Email is one of those things that's genuinely hard to test. It goes out through an SMTP server, lands in a real inbox, and you have no programmatic wa…
The test hung for 30 seconds. The response had already fired. One moved line fixed it. The test hung for 30 seconds, then timed out. The browser had r…
A case study in building crypto trading infrastructure and, more importantly, testing it honestly — including when the honest answer is "no edge." Wha…
Writing disabled-state tests for a cascading form — and what I found when one failed I wrote the test. It passed. And it lied to me. The form Booking …
Every QA engineer has written a test like this at some point: test ( ' user receives verification email ' , async ({ page }) => { await page . goto…
There is a specific failure mode in AI-assisted QA work that most tooling discussions skip entirely, and it shows up earliest when you are working sol…
I started treating this as a separate bug class after seeing the same failure pattern repeat: A human opens a browser profile and is logged in. A Play…
I was building a Playwright suite against a Phoenix LiveView app for the first time. Tests ran fine in isolation. Overnight, the full suite timed out …
The first time someone asked me "Rendershot has an MCP server, but doesn't Microsoft's Playwright MCP do the same thing?" I gave a bad answer. I mutte…
A case study: how a TypeScript migration doubled my test runs — with zero failures CI was green. Tests were passing. PRs were merging. The system was …
The problem While working on my Swiftcart QA automation project, I asked my AI agent a simple question: “What’s your knowledge cutoff date?” It answer…