# Selenium

Published articles for Selenium.

This is one page of public article previews, not the complete archive. Follow Next page to continue. Summaries are not the original full articles.

## Maestro vs Appium: The Benchmark

DevFeed: [Maestro vs Appium: The Benchmark](<https://devfeed.tech/articles/maestro-vs-appium-the-benchmark-22910.md>)

Original publisher: [Read original article](<https://maestro.dev/blog/maestro-vs-appium-the-benchmark>)

Author: Manu Armani

Published: 2026-08-17T10:00:00Z

Content type: comparison

Language: en

Sources: [mobile.dev - Medium](<https://devfeed.tech/sources/mobile-dev-medium.md>)

Topics: [Benchmark](<https://devfeed.tech/topics/benchmark.md>), [Mobile](<https://devfeed.tech/topics/mobile.md>), [cross-platform](<https://devfeed.tech/topics/cross-platform.md>), [AI Agent](<https://devfeed.tech/topics/ai-agent.md>), [Command-line interface](<https://devfeed.tech/topics/cli.md>), [YAML](<https://devfeed.tech/topics/yaml.md>), [Selenium](<https://devfeed.tech/topics/selenium.md>)

Tags: [agent](<https://devfeed.tech/tags/agent.md>), [ai](<https://devfeed.tech/tags/ai.md>), [ai-coding](<https://devfeed.tech/tags/ai-coding.md>), [android](<https://devfeed.tech/tags/android.md>), [appium](<https://devfeed.tech/tags/appium.md>), [benchmark](<https://devfeed.tech/tags/benchmark.md>), [claude](<https://devfeed.tech/tags/claude.md>), [claude-code](<https://devfeed.tech/tags/claude-code.md>), [cli](<https://devfeed.tech/tags/cli.md>), [cost](<https://devfeed.tech/tags/cost.md>), [cross-platform](<https://devfeed.tech/tags/cross-platform.md>), [ios](<https://devfeed.tech/tags/ios.md>), [javascript](<https://devfeed.tech/tags/javascript.md>), [maestro](<https://devfeed.tech/tags/maestro.md>), [maintenance](<https://devfeed.tech/tags/maintenance.md>), [mcp](<https://devfeed.tech/tags/mcp.md>), [python](<https://devfeed.tech/tags/python.md>), [selenium](<https://devfeed.tech/tags/selenium.md>), [vs](<https://devfeed.tech/tags/vs.md>)

### AI overview

A comparison of Maestro and Appium for mobile UI testing across setup, syntax, waits, flakiness, platform coverage, AI agent support, and maintenance cost. Maestro uses declarative YAML flows with built-in waits and retries, while Appium uses code-based tests and a driver architecture covering more platforms. The article also describes MCP-based device control and cases where Appium is the better fit.

### Source excerpt

A side-by-side comparison of Maestro and Appium across setup, syntax, waits, flakiness, cross-platform coverage, AI agent support, and maintenance cost.

## BrowserStack Newsletter July 2026

DevFeed: [BrowserStack Newsletter July 2026](<https://devfeed.tech/articles/browserstack-newsletter-july-2026-12622.md>)

Original publisher: [Read original article](<https://www.browserstack.com/blog/browserstack-newsletter-july-2026/>)

Author: Devanshi Jain

Published: 2026-08-05T10:02:29Z

Content type: article

Language: en

Sources: [BrowserStack Blog](<https://devfeed.tech/sources/browserstack-blog.md>)

Topics: [Testing](<https://devfeed.tech/topics/testing.md>), [Test automation](<https://devfeed.tech/topics/test-automation.md>), [Artificial Intelligence](<https://devfeed.tech/topics/ai.md>), [Playwright](<https://devfeed.tech/topics/playwright.md>), [Selenium](<https://devfeed.tech/topics/selenium.md>), [Cypress](<https://devfeed.tech/topics/cypress.md>), [ide](<https://devfeed.tech/topics/ide.md>), [Application Performance Management (APM)](<https://devfeed.tech/topics/apm.md>), [dashboards](<https://devfeed.tech/topics/dashboards.md>), [Extension](<https://devfeed.tech/topics/extension.md>), [Emulator](<https://devfeed.tech/topics/emulator.md>), [simulator](<https://devfeed.tech/topics/simulator.md>)

Tags: [2026](<https://devfeed.tech/tags/2026.md>), [agentic-ai](<https://devfeed.tech/tags/agentic-ai.md>), [automation](<https://devfeed.tech/tags/automation.md>), [automation-testing](<https://devfeed.tech/tags/automation-testing.md>), [cursor](<https://devfeed.tech/tags/cursor.md>), [cypress](<https://devfeed.tech/tags/cypress.md>), [features](<https://devfeed.tech/tags/features.md>), [ide](<https://devfeed.tech/tags/ide.md>), [newsletter](<https://devfeed.tech/tags/newsletter.md>), [product](<https://devfeed.tech/tags/product.md>), [selenium](<https://devfeed.tech/tags/selenium.md>), [testing](<https://devfeed.tech/tags/testing.md>)

### AI overview

BrowserStack's July 2026 newsletter announces Test Companion, an agentic AI feature for IDE-based test automation, and BrowserStack Load Testing, which combines backend load generation, real-browser performance, and APM metrics. It also highlights updates for certificates, screenshots, emulators, simulators, mobile browsers, Chrome extensions, audio logs, and diagnostic data.

### Source excerpt

Read what's new at BrowserStack in July 2026 - New launches, product features, and more!

## Breakpoint 2026 Speaker Spotlight: Andrew Knight

DevFeed: [Breakpoint 2026 Speaker Spotlight: Andrew Knight](<https://devfeed.tech/articles/breakpoint-2026-speaker-spotlight-andrew-knight-12620.md>)

Original publisher: [Read original article](<https://www.browserstack.com/blog/breakpoint-2026-speaker-spotlight-andrew-knight/>)

Author: Shweta Chhillar

Published: 2026-05-08T10:14:54Z

Content type: article

Language: en

Sources: [BrowserStack Blog](<https://devfeed.tech/sources/browserstack-blog.md>)

Topics: [Testing](<https://devfeed.tech/topics/testing.md>), [Software Testing](<https://devfeed.tech/topics/software-testing.md>), [Artificial Intelligence](<https://devfeed.tech/topics/ai.md>), [Behavior-driven development](<https://devfeed.tech/topics/bdd.md>), [Automation](<https://devfeed.tech/topics/automation.md>), [Selenium](<https://devfeed.tech/topics/selenium.md>), [Playwright](<https://devfeed.tech/topics/playwright.md>), [MCP Server](<https://devfeed.tech/topics/mcp-server.md>), [Open Source](<https://devfeed.tech/topics/open-source.md>)

Tags: [2026](<https://devfeed.tech/tags/2026.md>), [ai](<https://devfeed.tech/tags/ai.md>), [automation](<https://devfeed.tech/tags/automation.md>), [breakpoint](<https://devfeed.tech/tags/breakpoint.md>), [breakpoint-spotlight](<https://devfeed.tech/tags/breakpoint-spotlight.md>), [browser](<https://devfeed.tech/tags/browser.md>), [enterprise](<https://devfeed.tech/tags/enterprise.md>), [mcp](<https://devfeed.tech/tags/mcp.md>), [mcp-server](<https://devfeed.tech/tags/mcp-server.md>), [open-source](<https://devfeed.tech/tags/open-source.md>), [qa](<https://devfeed.tech/tags/qa.md>), [quality-engineering](<https://devfeed.tech/tags/quality-engineering.md>), [selenium](<https://devfeed.tech/tags/selenium.md>), [software](<https://devfeed.tech/tags/software.md>), [software-testing](<https://devfeed.tech/tags/software-testing.md>), [test-coverage](<https://devfeed.tech/tags/test-coverage.md>), [testing](<https://devfeed.tech/tags/testing.md>), [webdriver](<https://devfeed.tech/tags/webdriver.md>)

### AI overview

This speaker spotlight discusses how Andrew Knight combines open-source advocacy with enterprise software testing. It focuses on AI-powered test generation, behavior-driven development, context engineering, human oversight, and tools such as Selenium WebDriver, Playwright AI tooling, CLI skills, and an MCP server.

### Source excerpt

Explore how Andrew Knight is using AI, behavior-driven development, and context engineering to reshape enterprise software testing at BrowserStack Breakpoint 2026. This speaker spotlight dives into AI-powered QA, test automation, and the future of modern quality engineering.

## Reducing Failure-Analysis Work for Flaky End-to-End Test Suites

DevFeed: [Reducing Failure-Analysis Work for Flaky End-to-End Test Suites](<https://devfeed.tech/articles/my-2-cents-i-ll-gladly-spend-them-to-stop-staring-at-test-logs-28061.md>)

Original publisher: [Read original article](<https://tech.trivago.com/post/2026-04-15-my-2-cents-ill-gladly-spend-them-to-stop-staring-at-test-logs/>)

Author: Giuseppe Donati Web Test Automation Engineer Not a stereotypical Italian guy; Except

Published: 2026-04-15T00:00:00Z

Content type: opinion

Language: en

Sources: [Trivago](<https://devfeed.tech/sources/trivago.md>)

Topics: [Testing](<https://devfeed.tech/topics/testing.md>), [Test automation](<https://devfeed.tech/topics/test-automation.md>), [ci](<https://devfeed.tech/topics/ci.md>), [Selenium](<https://devfeed.tech/topics/selenium.md>), [GitHub](<https://devfeed.tech/topics/github.md>), [Latency](<https://devfeed.tech/topics/latency.md>), [Server-side rendering](<https://devfeed.tech/topics/server-side-rendering.md>), [Microservice](<https://devfeed.tech/topics/microservice.md>)

Tags: [artificial-intelligence](<https://devfeed.tech/tags/artificial-intelligence.md>), [ci](<https://devfeed.tech/tags/ci.md>), [github](<https://devfeed.tech/tags/github.md>), [integration](<https://devfeed.tech/tags/integration.md>), [latency](<https://devfeed.tech/tags/latency.md>), [quality-assurance](<https://devfeed.tech/tags/quality-assurance.md>), [selenium](<https://devfeed.tech/tags/selenium.md>), [server](<https://devfeed.tech/tags/server.md>), [server-side-rendering](<https://devfeed.tech/tags/server-side-rendering.md>), [test-automation](<https://devfeed.tech/tags/test-automation.md>), [tests](<https://devfeed.tech/tags/tests.md>)

### AI overview

The article describes the investigation burden caused by flaky end-to-end tests in trivago's Continuous Integration pipeline. Its extended suite has scenario-level success above 99% but workflow-level success of 20%, requiring frequent analysis of failures caused by flakiness, changing live data, preview-environment latency, and feature churn.

### Source excerpt

Does 99.8% represent a good success rate in end-to-end test automation of a web application? What about 99.9%? Maybe yes, but when you have a test suite that has up to 1,000 scenarios, it means ...

## From a long list to a clear signal: baseline-driven accessibility reporting

DevFeed: [From a long list to a clear signal: baseline-driven accessibility reporting](<https://devfeed.tech/articles/from-a-long-list-to-a-clear-signal-baseline-driven-accessibility-reporting-28059.md>)

Original publisher: [Read original article](<https://tech.trivago.com/post/2026-03-13-from-a-long-list-to-a-clear-signal-baseline-driven-accessibility-reporting/>)

Author: Benjamin Bischoff Test Automation Engineer; Author; Speaker; Magician Github Profile Linkedin Profile

Published: 2026-03-13T00:00:00Z

Content type: tutorial

Language: en

Sources: [Trivago](<https://devfeed.tech/sources/trivago.md>)

Topics: [digital accessibility](<https://devfeed.tech/topics/digital-accessibility.md>), [Accessibility](<https://devfeed.tech/topics/accessibility.md>), [axe-core](<https://devfeed.tech/topics/axe-core.md>), [Test automation](<https://devfeed.tech/topics/test-automation.md>), [Automation](<https://devfeed.tech/topics/automation.md>), [Selenium](<https://devfeed.tech/topics/selenium.md>), [Testing](<https://devfeed.tech/topics/testing.md>), [Extension](<https://devfeed.tech/topics/extension.md>)

Tags: [accessibility](<https://devfeed.tech/tags/accessibility.md>), [accessibility-testing](<https://devfeed.tech/tags/accessibility-testing.md>), [automation](<https://devfeed.tech/tags/automation.md>), [axe-core](<https://devfeed.tech/tags/axe-core.md>), [eaa](<https://devfeed.tech/tags/eaa.md>), [european-accessibility-act](<https://devfeed.tech/tags/european-accessibility-act.md>), [frontend](<https://devfeed.tech/tags/frontend.md>), [quality-assurance](<https://devfeed.tech/tags/quality-assurance.md>), [selenium](<https://devfeed.tech/tags/selenium.md>), [test-automation](<https://devfeed.tech/tags/test-automation.md>), [testing](<https://devfeed.tech/tags/testing.md>)

### AI overview

The article describes a baseline-driven approach to accessibility reporting. It extends an in-house test automation framework so new test runs can be compared with a snapshot of known issues on the main branch, helping teams distinguish regressions from existing technical debt and track changes more clearly.

### Source excerpt

The output of most automated accessibility tests is a long list of violations. This format, while comprehensive, makes it difficult to distinguish new issues introduced in a feature branch from ...

## Case Study: How Eneco Upgraded from Manual QA to Automated Testing with Maestro

DevFeed: [Case Study: How Eneco Upgraded from Manual QA to Automated Testing with Maestro](<https://devfeed.tech/articles/case-study-how-eneco-upgraded-from-manual-qa-to-automated-testing-with-maestro-22899.md>)

Original publisher: [Read original article](<https://maestro.dev/blog/maestro-case-study-eneco>)

Author: Jake Krupski

Published: 2025-04-09T00:00:00Z

Content type: article

Language: en

Sources: [mobile.dev - Medium](<https://devfeed.tech/sources/mobile-dev-medium.md>)

Topics: [Testing](<https://devfeed.tech/topics/testing.md>), [Automation](<https://devfeed.tech/topics/automation.md>), [Mobile](<https://devfeed.tech/topics/mobile.md>), [Selenium](<https://devfeed.tech/topics/selenium.md>)

Tags: [appium](<https://devfeed.tech/tags/appium.md>), [automated](<https://devfeed.tech/tags/automated.md>), [automation](<https://devfeed.tech/tags/automation.md>), [automation-tools](<https://devfeed.tech/tags/automation-tools.md>), [case-study](<https://devfeed.tech/tags/case-study.md>), [maestro](<https://devfeed.tech/tags/maestro.md>), [mobile](<https://devfeed.tech/tags/mobile.md>), [open-source](<https://devfeed.tech/tags/open-source.md>), [qa](<https://devfeed.tech/tags/qa.md>), [selenium](<https://devfeed.tech/tags/selenium.md>), [testing](<https://devfeed.tech/tags/testing.md>)

### AI overview

A case study of Eneco's transition from manual QA to automated testing across its mobile app and web portal. The team evaluated Appium, Tosca, and Maestro, with Maestro selected for its reported speed, reliability, simpler learning curve, and integration fit. The article also describes internal adoption after demonstrations to QA teams and company leadership.

### Source excerpt

At Mobile.dev, we love hearing stories from teams putting Maestro to work in the real world - and Randy Sie and his team at Eneco have a story that's representative of what many...

## New Chainguard Images November 2024: Bun, CockroachDB, Open Liberty

DevFeed: [New Chainguard Images November 2024: Bun, CockroachDB, Open Liberty](<https://devfeed.tech/articles/new-chainguard-images-november-2024-bun-cockroachdb-open-liberty-13179.md>)

Original publisher: [Read original article](<https://www.chainguard.dev/unchained/new-chainguard-images-november-2024-bun-cockroachdb-open-liberty>)

Published: 2024-12-18T00:00:00Z

Content type: release

Language: en

Sources: [Chainguard: Unchained](<https://devfeed.tech/sources/chainguard-unchained.md>)

Topics: [chainguard images](<https://devfeed.tech/topics/chainguard-images.md>), [Bun](<https://devfeed.tech/topics/bun.md>), [CockroachDB](<https://devfeed.tech/topics/cockroachdb.md>), [open liberty](<https://devfeed.tech/topics/open-liberty.md>)

Tags: [bun](<https://devfeed.tech/tags/bun.md>), [chainguard-images](<https://devfeed.tech/tags/chainguard-images.md>), [cockroachdb](<https://devfeed.tech/tags/cockroachdb.md>), [container-images](<https://devfeed.tech/tags/container-images.md>), [open-liberty](<https://devfeed.tech/tags/open-liberty.md>), [selenium](<https://devfeed.tech/tags/selenium.md>), [zero-cves](<https://devfeed.tech/tags/zero-cves.md>)

### AI overview

Chainguard announces 70 container images built in November 2024, including images for Open Liberty, CockroachDB, and Bun. The article describes the new images and their stated runtime, database, and JavaScript-tooling use cases.

### Source excerpt

Check out the new zero-CVE Chainguard Images built in November 2024, including offerings for Bun, CockroachDB, Open Liberty, Selenium, and more.

## Cutting over-provisioning with KEDA: cron, external triggers, and a Selenium Grid queue

DevFeed: [Cutting over-provisioning with KEDA: cron, external triggers, and a Selenium Grid queue](<https://devfeed.tech/articles/cutting-over-provisioning-with-keda-cron-external-triggers-and-a-selenium-grid-queue-34031.md>)

Original publisher: [Read original article](<https://andikaahmad.com/blog/keda-autoscaling/>)

Published: 2024-09-04T00:00:00Z

Content type: article

Language: en

Sources: [Andika Ahmad Ramadhan -- Blog](<https://devfeed.tech/sources/andika-ahmad-ramadhan-blog.md>)

Topics: [autoscaling](<https://devfeed.tech/topics/autoscaling.md>), [Kubernetes](<https://devfeed.tech/topics/kubernetes.md>), [Selenium](<https://devfeed.tech/topics/selenium.md>), [Testing](<https://devfeed.tech/topics/testing.md>), [HashiCorp Vault](<https://devfeed.tech/topics/hashicorp-vault.md>), [migration](<https://devfeed.tech/topics/migration.md>), [Prometheus](<https://devfeed.tech/topics/prometheus.md>)

Tags: [autoscaling](<https://devfeed.tech/tags/autoscaling.md>), [cost](<https://devfeed.tech/tags/cost.md>), [hashicorp-vault](<https://devfeed.tech/tags/hashicorp-vault.md>), [kubernetes](<https://devfeed.tech/tags/kubernetes.md>), [migration](<https://devfeed.tech/tags/migration.md>), [prometheus](<https://devfeed.tech/tags/prometheus.md>), [selenium](<https://devfeed.tech/tags/selenium.md>), [testing](<https://devfeed.tech/tags/testing.md>)

### AI overview

An experience report on using KEDA cron and external scalers to reduce idle Kubernetes capacity. It describes scaling workloads by schedules, queue depth, and Prometheus queries, including a Selenium Grid whose browser nodes scale with queued test sessions. The article also discusses migration from VMs to Kubernetes and a Vault-related operator bug discovered in production.

### Source excerpt

How I used KEDA cron scalers, external triggers, and Selenium Grid queue scalers to stop paying for idle replicas in production.

## The Testing Pyramid

DevFeed: [The Testing Pyramid](<https://devfeed.tech/articles/the-testing-pyramid-17751.md>)

Original publisher: [Read original article](<https://blog.amigoscode.com/p/the-testing-pyramid>)

Author: Nelson Djalo

Published: 2024-08-05T16:01:01Z

Content type: tutorial

Language: en

Sources: [Amigoscode Newsletter](<https://devfeed.tech/sources/amigoscode-newsletter.md>)

Topics: [Testing](<https://devfeed.tech/topics/testing.md>), [Java](<https://devfeed.tech/topics/java.md>), [Test automation](<https://devfeed.tech/topics/test-automation.md>), [Development](<https://devfeed.tech/topics/development.md>), [Programming](<https://devfeed.tech/topics/programming.md>)

Tags: [development](<https://devfeed.tech/tags/development.md>), [java](<https://devfeed.tech/tags/java.md>), [junit](<https://devfeed.tech/tags/junit.md>), [selenium](<https://devfeed.tech/tags/selenium.md>), [test-automation](<https://devfeed.tech/tags/test-automation.md>), [testing](<https://devfeed.tech/tags/testing.md>)

### AI overview

A guide to the testing pyramid for Java applications, explaining the roles of unit, integration, end-to-end, and UI tests. It also introduces Java testing frameworks including JUnit, TestNG, and Selenium.

### Source excerpt

Layered Testing for Robust Software Development

## New Chainguard Images for Selenium, Gotenberg and more

DevFeed: [New Chainguard Images for Selenium, Gotenberg and more](<https://devfeed.tech/articles/new-chainguard-images-for-selenium-gotenberg-and-more-13176.md>)

Original publisher: [Read original article](<https://www.chainguard.dev/unchained/new-chainguard-images-for-selenium-gotenberg-and-more>)

Published: 2024-03-11T00:00:00Z

Content type: release

Language: en

Sources: [Chainguard: Unchained](<https://devfeed.tech/sources/chainguard-unchained.md>)

Topics: [Selenium](<https://devfeed.tech/topics/selenium.md>), [releases](<https://devfeed.tech/topics/releases.md>), [container images](<https://devfeed.tech/topics/container-images.md>), [Security & compliance, Cloud security](<https://devfeed.tech/topics/security-compliance-cloud-security.md>)

Tags: [argocd](<https://devfeed.tech/tags/argocd.md>), [chainguard-images](<https://devfeed.tech/tags/chainguard-images.md>), [container-images](<https://devfeed.tech/tags/container-images.md>), [container-security](<https://devfeed.tech/tags/container-security.md>), [cve](<https://devfeed.tech/tags/cve.md>), [gotenberg](<https://devfeed.tech/tags/gotenberg.md>), [security](<https://devfeed.tech/tags/security.md>), [selenium](<https://devfeed.tech/tags/selenium.md>), [sigstore](<https://devfeed.tech/tags/sigstore.md>)

### AI overview

Chainguard describes new Chainguard Images released in February, highlighting a minimal, CVE-free Selenium container image and additional images such as Gotenberg. The article explains Chainguard's approach to rebuilding open source packages and propagating updates.

### Source excerpt

Unlock the latest Chainguard Images for Selenium, Gotenberg, and more, boosting your cloud security with zero-CVE, minimal container solutions.

## Updating to .NET 8, updating to IHostBuilder, and running Playwright Tests within NUnit headless or headed on any OS

DevFeed: [Updating to .NET 8, updating to IHostBuilder, and running Playwright Tests within NUnit headless or headed on any OS](<https://devfeed.tech/articles/updating-to-net-8-updating-to-ihostbuilder-and-running-playwright-tests-within-nunit-headless-or-headed-on-any-os-21858.md>)

Original publisher: [Read original article](<https://www.hanselman.com/blog/updating-to-net-8-updating-to-ihostbuilder-and-running-playwright-tests-within-nunit-headless-or-headed-on-any-os>)

Author: Scott Hanselman

Published: 2024-03-07T01:12:13Z

Content type: tutorial

Language: en

Sources: [Scott Hanselman](<https://devfeed.tech/sources/scott-hanselman.md>)

Topics: [Playwright](<https://devfeed.tech/topics/playwright.md>), [.NET](<https://devfeed.tech/topics/net.md>), [Testing](<https://devfeed.tech/topics/testing.md>), [Browser Automation](<https://devfeed.tech/topics/browser-automation.md>), [Integration testing](<https://devfeed.tech/topics/integration-testing.md>), [ASP.NET](<https://devfeed.tech/topics/aspnet.md>), [Selenium](<https://devfeed.tech/topics/selenium.md>), [GitHub Actions](<https://devfeed.tech/topics/github-actions.md>)

Tags: [asp-net](<https://devfeed.tech/tags/asp-net.md>), [automation-testing](<https://devfeed.tech/tags/automation-testing.md>), [browser](<https://devfeed.tech/tags/browser.md>), [ci-cd](<https://devfeed.tech/tags/ci-cd.md>), [debug](<https://devfeed.tech/tags/debug.md>), [devops](<https://devfeed.tech/tags/devops.md>), [dotnetcore](<https://devfeed.tech/tags/dotnetcore.md>), [integration](<https://devfeed.tech/tags/integration.md>), [linux](<https://devfeed.tech/tags/linux.md>), [net](<https://devfeed.tech/tags/net.md>), [playwright](<https://devfeed.tech/tags/playwright.md>), [selenium](<https://devfeed.tech/tags/selenium.md>), [testing](<https://devfeed.tech/tags/testing.md>), [tests](<https://devfeed.tech/tags/tests.md>), [unit-testing](<https://devfeed.tech/tags/unit-testing.md>), [visual-studio](<https://devfeed.tech/tags/visual-studio.md>), [vs-code](<https://devfeed.tech/tags/vs-code.md>), [web](<https://devfeed.tech/tags/web.md>), [windows](<https://devfeed.tech/tags/windows.md>)

### AI overview

A tutorial on updating a .NET application to .NET 8 and running Playwright browser tests through NUnit. It explains the transition from IWebHostBuilder to IHostBuilder and describes cross-platform, headless or headed testing across local systems, containers, and CI environments.

### Source excerpt

I've been doing not just Unit Testing for my sites but full on Integration Testing and Browser Automation Testing as early as 2007 with Selenium. Lately, however, I've been using the faster and generally more compatible Playwright. It has one API and can test on Windows, Linux, Mac, locally, in a container (headless), in my CI/CD pipeline, on Azure DevOps, or in GitHub Actions. For me, it's that last moment of truth to make sure that the site runs completely from end to end. I can write those Playwright tests in something like TypeScript, and I could launch them with node, but I like running end unit tests and using that test runner and test harness as my jumping off point for my .NET applications. I'm used to right clicking and "run unit tests" or even better, right click and "debug unit tests" in Visual Studio or VS Code. This gets me the benefit of all of the assertions of a full unit testing framework, and all the benefits of using something like Playwright to automate my browser. In 2018 I was using WebApplicationFactory and some tricky hacks to basically spin up ASP.NET within .NET (at the time) Core 2.1 within the unit tests and then launching Selenium. This was kind of janky and would require to manually start a separate process and manage its life cycle. However, I kept on with this hack for a number of years basically trying to get the Kestrel Web Server to spin up inside of my unit tests. I've recently upgraded my main site and podcast site to .NET 8. Keep in mind that I've been moving my websites forward from early early versions of .NET to the most recent versions. The blog is happily running on Linux in a container on .NET 8, but its original code started in 2002 on .NET 1.1. Now that I'm on .NET 8, I scandalously discovered (as my unit tests stopped working) that the rest of the world had moved from IWebHostBuilder to IHostBuilder five version of .NET ago. Gulp. Say what you will, but the backward compatibility is impressive. As such my code for Progr

## How BRYTER Achieved Increased Developer Experience, Ownership, Product Quality, and Engineering Effectiveness through Continuous Deployments

DevFeed: [How BRYTER Achieved Increased Developer Experience, Ownership, Product Quality, and Engineering Effectiveness through Continuous Deployments](<https://devfeed.tech/articles/how-bryter-achieved-increased-developer-experience-ownership-product-quality-and-engineering-effectiveness-through-continuous-deployments-39910.md>)

Original publisher: [Read original article](<https://mende.io/blog/how-bryter-achieved-increased-developer-experience-ownership-product-quality-and-engineering-effectiveness-through-continuous-deployments/>)

Author: tobi@techunicorn.builders (Tobias Mende)

Published: 2023-09-22T08:00:00Z

Content type: article

Language: en

Sources: [Tobias Mende](<https://devfeed.tech/sources/tobias-mende.md>)

Topics: [Deployment](<https://devfeed.tech/topics/deployment.md>), [Developer experience](<https://devfeed.tech/topics/developer-experience.md>), [Testing](<https://devfeed.tech/topics/testing.md>), [Selenium](<https://devfeed.tech/topics/selenium.md>), [TypeScript](<https://devfeed.tech/topics/typescript.md>)

Tags: [case-study](<https://devfeed.tech/tags/case-study.md>), [case-study-continuous-deployment-developer-experience-developer-productivity-leadership-practic](<https://devfeed.tech/tags/case-study-continuous-deployment-developer-experience-developer-productivity-leadership-practic.md>), [deployment](<https://devfeed.tech/tags/deployment.md>), [deployments](<https://devfeed.tech/tags/deployments.md>), [developer-experience](<https://devfeed.tech/tags/developer-experience.md>), [ownership](<https://devfeed.tech/tags/ownership.md>), [qa](<https://devfeed.tech/tags/qa.md>), [quality](<https://devfeed.tech/tags/quality.md>), [resilience](<https://devfeed.tech/tags/resilience.md>), [selenium](<https://devfeed.tech/tags/selenium.md>), [typescript](<https://devfeed.tech/tags/typescript.md>)

### AI overview

This case study describes how BRYTER addressed a monolithic deployment process in which deployments occurred twice weekly and were managed by QA. The resulting lack of visibility, ownership, and understanding affected engineering teams, testing, and resilience. BRYTER began moving toward continuous deployments and created a dedicated Developer Experience Team.

### Source excerpt

How BRYTER Achieved Increased Developer Experience, Ownership, Product Quality, and Engineering Effectiveness through Continuous Deployments BRYTER, a German LegalTech scale-up, faced challenges with its monolithic deployment process and limited understanding of the deployment process within its engineering teams. Deployments occurred only twice a week and were managed by the QA team, leading to a lack of visibility and ownership among the other teams.

## Retry flaky tests with dotnet test and PowerShell

DevFeed: [Retry flaky tests with dotnet test and PowerShell](<https://devfeed.tech/articles/retry-flaky-tests-with-dotnet-test-and-powershell-20782.md>)

Original publisher: [Read original article](<https://conductofcode.io/post/retry-flaky-tests-with-dotnet-test-and-powershell/>)

Author: {"twitter"=\>"hlaueriksson"}

Published: 2023-03-26T19:00:00Z

Content type: tutorial

Language: en

Sources: [Henrik Lau Eriksson](<https://devfeed.tech/sources/henrik-lau-eriksson.md>)

Topics: [PowerShell](<https://devfeed.tech/topics/powershell.md>), [.NET](<https://devfeed.tech/topics/net.md>), [Command-line interface](<https://devfeed.tech/topics/cli.md>), [Smoke Tests](<https://devfeed.tech/topics/smoke-tests.md>), [Playwright](<https://devfeed.tech/topics/playwright.md>), [Selenium](<https://devfeed.tech/topics/selenium.md>)

Tags: [c-sharp](<https://devfeed.tech/tags/c-sharp.md>), [cli](<https://devfeed.tech/tags/cli.md>), [configuration](<https://devfeed.tech/tags/configuration.md>), [dotnet](<https://devfeed.tech/tags/dotnet.md>), [flaky](<https://devfeed.tech/tags/flaky.md>), [jenkins](<https://devfeed.tech/tags/jenkins.md>), [mstest](<https://devfeed.tech/tags/mstest.md>), [nunit](<https://devfeed.tech/tags/nunit.md>), [playwright](<https://devfeed.tech/tags/playwright.md>), [powershell](<https://devfeed.tech/tags/powershell.md>), [retry](<https://devfeed.tech/tags/retry.md>), [selenium](<https://devfeed.tech/tags/selenium.md>), [test](<https://devfeed.tech/tags/test.md>), [testing](<https://devfeed.tech/tags/testing.md>), [unit-tests](<https://devfeed.tech/tags/unit-tests.md>), [xunit](<https://devfeed.tech/tags/xunit.md>)

### AI overview

This tutorial presents a PowerShell script that uses dotnet test and TRX result files to track failed tests, retry them, report the final result, and allow a configured percentage of failures. It demonstrates the script with NUnit, MSTest, and xUnit.

### Source excerpt

Introducing test.ps1, a script for running flaky tests - Keeps track of failing tests and retries them - Notifies the test framework of the current retry iteration - Makes it possible to accept a certain percentage of failing tests - Outputs the test result in a coherent way

## How we improved reporting and monitoring of test automation results

DevFeed: [How we improved reporting and monitoring of test automation results](<https://devfeed.tech/articles/how-we-improved-reporting-and-monitoring-of-test-automation-results-28033.md>)

Original publisher: [Read original article](<https://tech.trivago.com/post/2023-02-15-how-we-improved-reporting-and-monitoring-of-test-automation-results/>)

Author: Giuseppe Donati Web Test Automation Engineer Not a stereotypical Italian guy; Except

Published: 2023-02-15T00:00:00Z

Content type: article

Language: en

Sources: [Trivago](<https://devfeed.tech/sources/trivago.md>)

Topics: [Testing](<https://devfeed.tech/topics/testing.md>), [Test automation](<https://devfeed.tech/topics/test-automation.md>), [GitHub Actions](<https://devfeed.tech/topics/github-actions.md>), [Selenium](<https://devfeed.tech/topics/selenium.md>), [CI/CD](<https://devfeed.tech/topics/cicd.md>), [Cloud](<https://devfeed.tech/topics/cloud.md>), [Kafka](<https://devfeed.tech/topics/kafka.md>), [elasticsearch](<https://devfeed.tech/topics/elasticsearch.md>), [kibana](<https://devfeed.tech/topics/kibana.md>), [logstash](<https://devfeed.tech/topics/logstash.md>), [Grafana](<https://devfeed.tech/topics/grafana.md>), [Cucumber](<https://devfeed.tech/topics/cucumber.md>)

Tags: [article](<https://devfeed.tech/tags/article.md>), [elasticsearch](<https://devfeed.tech/tags/elasticsearch.md>), [frontend](<https://devfeed.tech/tags/frontend.md>), [gcp](<https://devfeed.tech/tags/gcp.md>), [github-actions](<https://devfeed.tech/tags/github-actions.md>), [grafana](<https://devfeed.tech/tags/grafana.md>), [kafka](<https://devfeed.tech/tags/kafka.md>), [kibana](<https://devfeed.tech/tags/kibana.md>), [logstash](<https://devfeed.tech/tags/logstash.md>), [monitoring](<https://devfeed.tech/tags/monitoring.md>), [quality-assurance](<https://devfeed.tech/tags/quality-assurance.md>), [selenium](<https://devfeed.tech/tags/selenium.md>), [test-automation](<https://devfeed.tech/tags/test-automation.md>)

### AI overview

The article describes trivago's updated system for executing, reporting, and monitoring Selenium-based end-to-end tests. It covers GitHub Actions workflows, custom runners on Google Cloud, cloud report storage, Kafka and Logstash processing, Elasticsearch and Kibana visualization, and Grafana and Slack alerting.

### Source excerpt

Over the last few years, we completely refactored what was described in our previous article about how we use the ELK sta...

## Focus Week Case Study: Bringing E2E Tests into the CI Pipeline

DevFeed: [Focus Week Case Study: Bringing E2E Tests into the CI Pipeline](<https://devfeed.tech/articles/focus-week-case-study-bringing-e2e-tests-into-the-ci-pipeline-39905.md>)

Original publisher: [Read original article](<https://mende.io/blog/focus-week-case-study/>)

Author: tobi@techunicorn.builders (Tobias Mende)

Published: 2021-12-25T12:34:00Z

Content type: article

Language: en

Sources: [Tobias Mende](<https://devfeed.tech/sources/tobias-mende.md>)

Topics: [CI/CD Pipeline](<https://devfeed.tech/topics/ci-cd-pipeline.md>), [Selenium](<https://devfeed.tech/topics/selenium.md>), [test](<https://devfeed.tech/topics/test.md>), [AWS Lambda](<https://devfeed.tech/topics/aws-lambda.md>)

Tags: [aws-lambda](<https://devfeed.tech/tags/aws-lambda.md>), [case-study](<https://devfeed.tech/tags/case-study.md>), [case-study-collaboration-culture-ensemble-programming-team-programming-developer-productivity](<https://devfeed.tech/tags/case-study-collaboration-culture-ensemble-programming-team-programming-developer-productivity.md>), [ci-cd](<https://devfeed.tech/tags/ci-cd.md>), [e2e](<https://devfeed.tech/tags/e2e.md>), [selenium](<https://devfeed.tech/tags/selenium.md>), [tests](<https://devfeed.tech/tags/tests.md>)

### AI overview

This case study describes BRYTER's effort to bring Selenium-based end-to-end tests into its CI/CD pipeline. The tests were previously maintained by QA in a separate repository and run manually, with problems including slowness and flakiness. The team identified stabilization, parallel execution using AWS Lambda, closer alignment with production code, and CI/CD integration as key areas of work.

### Source excerpt

Focus Week Case Study: Bringing E2E Tests into the CI Pipeline In my last article, I wrote about focus weeks and how my team is currently doing them at BRYTER. Today, I want to share a case study of our latest focus week.

## Windows Container on K8s Clusters

DevFeed: [Windows Container on K8s Clusters](<https://devfeed.tech/articles/windows-container-on-k8s-clusters-17699.md>)

Original publisher: [Read original article](<https://blog.container-solutions.com/windows-container-k8s-cluster>)

Author: Sebastián Gómez

Published: 2021-12-03T09:27:27Z

Content type: tutorial

Language: en

Sources: [Blog - Container Solutions](<https://devfeed.tech/sources/blog-container-solutions.md>)

Topics: [Kubernetes](<https://devfeed.tech/topics/kubernetes.md>), [Containers](<https://devfeed.tech/topics/containers.md>), [Windows](<https://devfeed.tech/topics/windows.md>), [.NET Framework](<https://devfeed.tech/topics/net-framework.md>), [Amazon EKS](<https://devfeed.tech/topics/amazon-eks.md>), [Docker](<https://devfeed.tech/topics/docker.md>), [Selenium](<https://devfeed.tech/topics/selenium.md>), [Tool](<https://devfeed.tech/topics/tool.md>), [PowerShell](<https://devfeed.tech/topics/powershell.md>), [Package manager](<https://devfeed.tech/topics/package-manager.md>), [Spring Boot](<https://devfeed.tech/topics/spring-boot.md>), [Java](<https://devfeed.tech/topics/java.md>)

Tags: [build](<https://devfeed.tech/tags/build.md>), [containers](<https://devfeed.tech/tags/containers.md>), [docker](<https://devfeed.tech/tags/docker.md>), [java](<https://devfeed.tech/tags/java.md>), [kubernetes](<https://devfeed.tech/tags/kubernetes.md>), [net-framework](<https://devfeed.tech/tags/net-framework.md>), [nuget](<https://devfeed.tech/tags/nuget.md>), [powershell](<https://devfeed.tech/tags/powershell.md>), [selenium](<https://devfeed.tech/tags/selenium.md>), [spring-boot](<https://devfeed.tech/tags/spring-boot.md>), [windows](<https://devfeed.tech/tags/windows.md>)

### AI overview

This article describes a cloud migration scenario involving Windows containers and a .NET Framework 4.8 UI-testing application that uses Selenium to start a browser. It also discusses bringing Docker images into a managed Kubernetes cluster on Amazon EKS, alongside existing React/Redux and Java Spring Boot applications.

### Source excerpt

I recently came across a fun and interesting challenge. In the latest project I joined, a team wanted to do a "lift & shift to the cloud". As a Cloud Native engineer I've seen this pattern fairly often, although it never means quite the same thing.

## Автоматизация тестирования мобильных приложений. Часть 2: предусловия, верификация элементов и независимость шагов

DevFeed: [Автоматизация тестирования мобильных приложений. Часть 2: предусловия, верификация элементов и независимость шагов](<https://devfeed.tech/articles/2-23637.md>)

Original publisher: [Read original article](<https://habr.com/ru/companies/badoo/articles/547196/>)

Author: barman\_mo (Badoo)

Published: 2021-03-16T14:17:18Z

Content type: tutorial

Language: ru

Sources: [Badoo EN](<https://devfeed.tech/sources/badoo-en.md>), [Badoo RU](<https://devfeed.tech/sources/badoo-ru.md>)

Topics: [Mobile](<https://devfeed.tech/topics/mobile.md>), [Selenium](<https://devfeed.tech/topics/selenium.md>)

Tags: [automation](<https://devfeed.tech/tags/automation.md>), [mobile](<https://devfeed.tech/tags/mobile.md>), [qa](<https://devfeed.tech/tags/qa.md>), [selenium](<https://devfeed.tech/tags/selenium.md>), [tag-23c525fe15c9](<https://devfeed.tech/tags/tag-23c525fe15c9.md>)

### AI overview

The second part of an article about mobile application test automation practices at Badoo and Bumble. It discusses verifying element state changes, configuring test preconditions, developing steps for simple and complex actions, and verifying optional elements, with a focus on making tests faster and more stable.

### Source excerpt

Меня зовут Дмитрий Макаренко, я Mobile QA Engineer в Badoo и Bumble: занимаюсь тестированием новой функциональности в наших приложениях вручную и покрытием её автотестами. За последние два года подход к автоматизации тестирования в нашей компании сильно изменился. Количество людей, активно вовлечённых в разработку тестов, увеличилось с десяти до 40 человек. А любая новая функциональность в приложениях теперь обязательно должна быть покрыта тестами до релиза. В таких условиях нам очень важно разрабатывать тесты настолько быстро, насколько это возможно. И делать их при этом стабильными -- чтобы поддержка не отнимала у нас много времени. Мы решили поделиться практиками, которые помогают нам ускорять разработку тестов и повышать их стабильность. В первой части статьи мы рассказали о роли автоматизации в наших процессах, деталях фреймворка и подробно разобрали три практики, которые мы применяем при создании автотестов. Во второй части будем разбираться с верификацией изменения состояния элементов, настройкой предусловий тестов, разработкой шагов для простых и сложных действий, а также с верификацией необязательных элементов (которую обязательно нужно делать :)). Читать далее

## API для QA: тестируем фичи без доступа к коду

DevFeed: [API для QA: тестируем фичи без доступа к коду](<https://devfeed.tech/articles/api-qa-23626.md>)

Original publisher: [Read original article](<https://habr.com/ru/companies/badoo/articles/528742/>)

Author: SergeyRyabko (Badoo)

Published: 2020-11-19T13:56:20Z

Content type: article

Language: ru

Sources: [Badoo EN](<https://devfeed.tech/sources/badoo-en.md>), [Badoo RU](<https://devfeed.tech/sources/badoo-ru.md>)

Topics: [API](<https://devfeed.tech/topics/api.md>), [Selenium](<https://devfeed.tech/topics/selenium.md>)

Tags: [api](<https://devfeed.tech/tags/api.md>), [badoo](<https://devfeed.tech/tags/badoo.md>), [php](<https://devfeed.tech/tags/php.md>), [qa](<https://devfeed.tech/tags/qa.md>), [selenium](<https://devfeed.tech/tags/selenium.md>)

### AI overview

The article introduces Badoo's QAAPI, a tool intended to let engineers and automated tests influence application parameters without changing source code. It describes the testing problem in staging and production environments, including time-dependent features, and states requirements such as simplicity, broad test support, safety, and documentation.

### Source excerpt

Многие фичи приложения невозможно быстро протестировать, не меняя исходный код. Представьте типичную задачу, с которой может столкнуться каждый разработчик: через три дня после регистрации пользователю нужно предложить купить премиум-доступ к продукту со скидкой. Чтобы проверить, работает ли это промо, нужно зарегистрировать тестового пользователя и подождать три дня до появления заветного окошка. Очевидно, что разработчик не будет столько ждать. Он просто сменит в коде значение константы, которая задаёт временной интервал, с трёх дней на 20 секунд -- и получит результат почти мгновенно. Допустим, данные для промопредложения отдаёт сервер, а отрисовывается оно на клиенте. Если серверный тестировщик работает в среде, которая допускает манипуляции с кодом, он тоже быстро справится с задачей. Но как только она окажется там, где возможность менять код отсутствует (стейджинг, продакшен), возникнет проблема. Читать далее

## Access Selenium Test Screenshots on failed GitLab Pipeline Steps

DevFeed: [Access Selenium Test Screenshots on failed GitLab Pipeline Steps](<https://devfeed.tech/articles/access-selenium-test-screenshots-on-failed-gitlab-pipeline-steps-21373.md>)

Original publisher: [Read original article](<https://juri.dev/blog/2020/10/upload-failed-artifacts-gitlab/>)

Published: 2020-10-14T00:00:00Z

Content type: tutorial

Language: en

Sources: [Juri Strumpflohner](<https://devfeed.tech/sources/juri-strumpflohner.md>)

Topics: [GitLab](<https://devfeed.tech/topics/gitlab.md>), [Selenium](<https://devfeed.tech/topics/selenium.md>), [Docker](<https://devfeed.tech/topics/docker.md>)

Tags: [chrome](<https://devfeed.tech/tags/chrome.md>), [ci](<https://devfeed.tech/tags/ci.md>), [docker](<https://devfeed.tech/tags/docker.md>), [docker-image](<https://devfeed.tech/tags/docker-image.md>), [gitlab](<https://devfeed.tech/tags/gitlab.md>), [node](<https://devfeed.tech/tags/node.md>), [pipeline](<https://devfeed.tech/tags/pipeline.md>), [screenshots](<https://devfeed.tech/tags/screenshots.md>), [selenium](<https://devfeed.tech/tags/selenium.md>), [test](<https://devfeed.tech/tags/test.md>), [tooling](<https://devfeed.tech/tags/tooling.md>)

### AI overview

This tutorial explains how to configure GitLab pipeline artifacts to retain Selenium test screenshots when a CI step fails. It also mentions a Protractor-based end-to-end setup using a Cypress Docker image with Node.js and Chrome configuration.

### Source excerpt

Lorem ipsum dolor sit amet

## Rails Console and Test Mode

DevFeed: [Rails Console and Test Mode](<https://devfeed.tech/articles/rails-console-and-test-mode-28263.md>)

Original publisher: [Read original article](<http://fuzzyblog.io/blog/rails/2020/02/19/rails-console-and-test-mode.html>)

Author: Fuzzygroup

Published: 2020-02-19T00:00:00Z

Content type: tutorial

Language: en

Sources: [Scott Johnson](<https://devfeed.tech/sources/scott-johnson.md>)

Topics: [Rails](<https://devfeed.tech/topics/rails.md>), [test](<https://devfeed.tech/topics/test.md>), [Testing](<https://devfeed.tech/topics/testing.md>)

Tags: [console](<https://devfeed.tech/tags/console.md>), [environment](<https://devfeed.tech/tags/environment.md>), [factorybot](<https://devfeed.tech/tags/factorybot.md>), [rails](<https://devfeed.tech/tags/rails.md>), [selenium](<https://devfeed.tech/tags/selenium.md>), [test](<https://devfeed.tech/tags/test.md>), [testing](<https://devfeed.tech/tags/testing.md>)

### AI overview

This short tutorial shows how to launch the Rails console in test mode with RAILS_ENV=test rails c. This lets developers inspect the test environment and work directly with FactoryBot to experiment with test factories.

### Source excerpt

This one is a short one but a good one. One really useful trick is to launch Rails console in test mode: ❯ RAILS_ENV=test rails c Running via Spring preloader in process 41705 Loading test environment (Rails 6.0.2.1) irb: warn: can't alias context from irb_context. You can check the Rails environment this way: 2.7.0 :001 > Rails.env "test" The benefit to this is that you can work directly with FactoryBot and experiment with factories: 2.7.0 :002 > project = FactoryBot.create(:project, name: "Scott's Project") FactoryBot is installed via Gemfile and locked into test environment only (which is why you need to launch Rails console in test mode): group :test do # Adds support for Capybara system testing and selenium driver gem "capybara", ">= 2.15" gem "selenium-webdriver" # Easy installation and use of web drivers to run system tests with browsers gem "webdrivers" gem 'factory_bot_rails' #gem 'database_cleaner' # gem 'shoulda' # gem 'shoulda-matchers' end

## Challenging the Testing Pyramid

DevFeed: [Challenging the Testing Pyramid](<https://devfeed.tech/articles/challenging-the-testing-pyramid-21348.md>)

Original publisher: [Read original article](<https://juri.dev/blog/2019/07/testing-cypress-intro/>)

Published: 2019-07-16T00:00:00Z

Content type: tutorial

Language: en

Sources: [Juri Strumpflohner](<https://devfeed.tech/sources/juri-strumpflohner.md>)

Topics: [Testing](<https://devfeed.tech/topics/testing.md>), [Cypress](<https://devfeed.tech/topics/cypress.md>), [Selenium](<https://devfeed.tech/topics/selenium.md>), [Tooling](<https://devfeed.tech/topics/tooling.md>), [Web Development](<https://devfeed.tech/topics/web-development.md>)

Tags: [automated](<https://devfeed.tech/tags/automated.md>), [cypress](<https://devfeed.tech/tags/cypress.md>), [e2e-testing](<https://devfeed.tech/tags/e2e-testing.md>), [javascript](<https://devfeed.tech/tags/javascript.md>), [selenium](<https://devfeed.tech/tags/selenium.md>), [testing](<https://devfeed.tech/tags/testing.md>), [web-development](<https://devfeed.tech/tags/web-development.md>)

### AI overview

An introduction to automated UI and end-to-end testing with Cypress. The article discusses testing costs and benefits, contrasts manual and automated testing, and places UI testing in the context of the testing pyramid and testing trophy.

### Source excerpt

Lorem ipsum dolor sit amet

## Introducing fluentXPath

DevFeed: [Introducing fluentXPath](<https://devfeed.tech/articles/introducing-fluentxpath-27297.md>)

Original publisher: [Read original article](<https://blog.pchudzik.com/201901/fluentxpath/>)

Published: 2019-01-22T00:00:00Z

Content type: tutorial

Language: en

Sources: [Paweł Chudzik](<https://devfeed.tech/sources/pawe-chudzik.md>)

Topics: [Selenium](<https://devfeed.tech/topics/selenium.md>), [Library](<https://devfeed.tech/topics/library.md>), [Java](<https://devfeed.tech/topics/java.md>)

Tags: [alternatives](<https://devfeed.tech/tags/alternatives.md>), [build](<https://devfeed.tech/tags/build.md>), [concatenation](<https://devfeed.tech/tags/concatenation.md>), [dependencies](<https://devfeed.tech/tags/dependencies.md>), [gradle](<https://devfeed.tech/tags/gradle.md>), [groovy](<https://devfeed.tech/tags/groovy.md>), [java](<https://devfeed.tech/tags/java.md>), [kotlin](<https://devfeed.tech/tags/kotlin.md>), [library](<https://devfeed.tech/tags/library.md>), [selenium](<https://devfeed.tech/tags/selenium.md>), [syntax](<https://devfeed.tech/tags/syntax.md>), [tests](<https://devfeed.tech/tags/tests.md>), [writing](<https://devfeed.tech/tags/writing.md>)

### AI overview

The article introduces fluentXPath, a Java library for building XPath expressions with fluent syntax instead of string concatenation. It explains that the library is only syntactic sugar, does not validate XPath expressions, and may be unnecessary in languages with string interpolation.

### Source excerpt

Some time ago I've started working on updating automated tests written in selenium with java. After working a bit with it I've noticed that from time to time constructing XPath expression can get ugly. We are writing our tests in pure java and "ugliness" usually comes from string concatenation when some extra parameters must be taken into account. I've decided to write something that might help a bit with building XPaths without string concatenation. Read more

## What to do when Firefox crashes under test automation with Selenium

DevFeed: [What to do when Firefox crashes under test automation with Selenium](<https://devfeed.tech/articles/what-to-do-when-firefox-crashes-under-test-automation-with-selenium-20316.md>)

Original publisher: [Read original article](<https://www.hskupin.info/2018/05/30/what-to-do-when-firefox-crashes-under-test-automation-with-selenium/>)

Author: Henrik Skupin

Published: 2018-05-30T15:04:10Z

Content type: tutorial

Language: en

Sources: [Mozilla Automation](<https://devfeed.tech/sources/mozilla-automation.md>)

Topics: [Selenium](<https://devfeed.tech/topics/selenium.md>), [Test automation](<https://devfeed.tech/topics/test-automation.md>), [Firefox](<https://devfeed.tech/topics/firefox.md>), [Testing](<https://devfeed.tech/topics/testing.md>)

Tags: [automation](<https://devfeed.tech/tags/automation.md>), [bug](<https://devfeed.tech/tags/bug.md>), [crash](<https://devfeed.tech/tags/crash.md>), [firefox](<https://devfeed.tech/tags/firefox.md>), [geckodriver](<https://devfeed.tech/tags/geckodriver.md>), [mozilla](<https://devfeed.tech/tags/mozilla.md>), [selenium](<https://devfeed.tech/tags/selenium.md>), [software](<https://devfeed.tech/tags/software.md>), [test-automation](<https://devfeed.tech/tags/test-automation.md>)

### AI overview

This tutorial explains how Firefox crashes can occur during Selenium-based website tests using geckodriver. It describes crash reporter support, the removal of minidump files with temporary profiles, and the planned MINIDUMP_SAVE_PATH mechanism for preserving crash data.

### Source excerpt

If you have the task to create automated tests for websites you will most likely make use of Selenium when it comes to testing UI interactions. To execute the tests for the various browsers out there each browser vendor offers a so called driver package which has to be used by Selenium to run each of the commands. In case of Firefox this will be geckodriver. Within the last months we got a couple of issues reported for geckodriver that Firefox sometimes crashes while the tests are running. This feedbackContinue readingWhat to do when Firefox crashes under test automation with Selenium

## Screenshot testing with React and Storybook

DevFeed: [Screenshot testing with React and Storybook](<https://devfeed.tech/articles/screenshot-testing-with-react-and-storybook-24570.md>)

Original publisher: [Read original article](<https://medium.com/bleeding-edge/screenshot-testing-with-react-and-storybook-19ab7e49ec92?source=rss----d8ebe85cdc0f---4>)

Author: Jesse Pinho

Published: 2018-03-19T09:18:02Z

Content type: tutorial

Language: en

Sources: [Bleeding Edge - Medium](<https://devfeed.tech/sources/bleeding-edge-medium.md>)

Topics: [screenshot-testing](<https://devfeed.tech/topics/screenshot-testing.md>), [Storybook](<https://devfeed.tech/topics/storybook.md>), [React](<https://devfeed.tech/topics/react.md>), [Testing](<https://devfeed.tech/topics/testing.md>), [styled-components](<https://devfeed.tech/topics/styled-components.md>), [Selenium](<https://devfeed.tech/topics/selenium.md>)

Tags: [continuous-integration](<https://devfeed.tech/tags/continuous-integration.md>), [react](<https://devfeed.tech/tags/react.md>), [screenshot-testing](<https://devfeed.tech/tags/screenshot-testing.md>), [selenium](<https://devfeed.tech/tags/selenium.md>), [storybook](<https://devfeed.tech/tags/storybook.md>), [styled-components](<https://devfeed.tech/tags/styled-components.md>), [testing](<https://devfeed.tech/tags/testing.md>), [visual-regression-testing](<https://devfeed.tech/tags/visual-regression-testing.md>)

### AI overview

The article explains why end-to-end UI tests can miss visual regressions and explores screenshot testing with React and Storybook to check component appearance across different states.

### Source excerpt

Visual regression testing for fun, profit, and peace of mind Illustration by Marta Pucci A friend of mine recently related a scary story about the lack of automated visual regression testing where he works--a huge international tech firm that you've heard of and probably use. He'd added a CSS class to an element to hide it from the user. Unbeknownst to him, and despite using BEM-style naming for CSS classes, this class name was already being used for an important checkbox in the user settings screen of his company's web app. The result? Users could no longer change the setting represented by the checkbox, because it was invisible! I asked him why that hadn't been caught by automated tests. He explained that, although they did have end-to-end tests in place that went through the UI and tested its functionality, the tests didn't catch the bug. Selenium was still able to check the original checkbox via its selector, so its visibility had no effect on the outcome of the test. The only way this could have been caught is via visual regression testing -- or, as it is sometimes called, screenshot testing. 💅 Switching to styled-components I recalled this story recently while working on a sizable project at Clue: converting all of our "native" CSS to use styled-components. The new helloclue.com website consists of dozens of components. An article page, for example, contains at least ten different React components, all of which have accompanying CSS files. Converting all of this CSS to styled-components means there's an enormous risk of bugs exactly like the one my friend experienced. So before the project began, I investigated setting up screenshot testing for the site. 📕 Enter Storybook (Note: if you're already familiar with Storybook and @storybook/react, feel free to skip to the next section.) We use Storybook when developing simple presentational components. This way, we can test them in every possible state, without having to reproduce all the logic and so forth required t

[Next page](<https://devfeed.tech/tags/selenium.md?cursor=WyIyMDE4LTAzLTE5VDA5OjE4OjAyKzAwOjAwIiwgImUzNjYyNjE0LWI4MzUtNGZkNS1iMmVjLTk2NTQ2OTZiNWNmYiJd>)