A comprehensive guide to Selenium BiDi functionality with Java examples, covering Chrome DevTools Protocol, WebDriver BiDi, network mocking, JavaScript error logging, and performance metrics collection.
Read articleA follow-up to the original Tester's Toolbox, showcasing free tools and projects created by the author, including starter guides for Selenium and Rest Assured, a sample API, and a Pact contract testing example.
Read articleExplains the importance of testing web applications under slow network conditions and provides a practical guide on how to throttle network latency and bandwidth in Selenium tests using BrowserMob Proxy.
Read articleExplains headless browser testing benefits and limitations, providing Selenium WebDriver Java demos for Chrome, Firefox, HtmlUnit, PhantomJS, and JBrowser.
Read articleDiscusses reasons for testing websites with JavaScript disabled and provides Selenium (FluentLenium) code examples for disabling JavaScript in Chrome and Firefox.
Read articleDiscusses handling common components (header, footer) within the Selenium Page Object Pattern, compares inheritance vs. composition, recommends composition with DI, and showcases how FluentLenium simplifies this.
Read articleExplains how to capture and verify browser console errors (specifically SEVERE level) in Selenium tests using Chrome's logging capabilities, demonstrated with a FluentLenium example.
Read articleCompares Selenium WebDriver with the FluentLenium extension by implementing the same test scenario, demonstrating how FluentLenium simplifies setup, interactions, assertions, and waiting, leading to more concise code.
Read articleExplains how to automate Reflected Cross-Site Scripting (XSS) tests using Selenium, covering disabling Chrome's XSS auditor, implementing a Page Object for a vulnerable page (XSS Game Level 1), injecting a script payload, and asserting if an alert appears.
Read articleExplains the shift from Firefox Profiles to FirefoxOptions/DesiredCapabilities for configuring Firefox in Selenium, aligning it with Chrome's approach. Covers GeckoDriver setup and demonstrates setting capabilities like insecure certs acceptance, preferences, and log level.
Read articleDemonstrates running Firefox headlessly with Selenium, showing the simple `--headless` argument configuration in FirefoxOptions. Includes a full FluentLenium/TestNG demo testing the author's blog, highlighting the benefit for CI environments.
Read articleExplains headless browser testing benefits for CI, focusing on Google Chrome's native headless mode (v59+). Provides a Java/Selenium/FluentLenium demo showing how to enable headless mode via ChromeOptions and run a simple AJAX test.
Read articleA basic tutorial on using Chrome DevTools to find and test CSS selectors for Selenium automation, covering inspect element, copy selector, and console verification ($$), with examples and a Java/FluentLenium demo.
Read articleLearn how to integrate BrowserMob Proxy with Selenium to capture network traffic (HAR files) for performance analysis, identify bad HTTP responses, and compare requests. Includes Java/TestNG/FluentLenium examples.
Read articleShowcases several open-source E2E testing suites (Wikia, WordPress, NASA, Jenkins, Mozilla, Optimizely) for learning, referencing different languages and frameworks while emphasizing the test pyramid.
Read articleProvides four methods to handle file downloads in Selenium/Java without brittle tools like AutoIT: checking URL status with HttpClient, simulating user download with cookies, verifying non-empty download, and confirming MD5 checksum.
Read articleExplores Selenium waits, highlighting issues with Thread.sleep() and implicit waits. Introduces explicit/fluent waits and showcases FluentLenium's concise await() methods for stable, readable, and efficient waits (e.g., AJAX completion).
Read articleExplains configuring Chrome capabilities in Selenium Java using ChromeOptions (within DesiredCapabilities). Covers adding arguments/switches and experimental options/prefs, providing links to comprehensive lists and examples like disabling notifications.
Read articleIntroduces FluentLenium framework for Selenium via a Facebook group approval automation example using Java/TestNG. Covers setup, Page Objects, CSS selectors, and dynamic waits.
Read articleAddresses the common issue of unstable Selenium tests ('maintenance hell'), emphasizing the need to prioritize stability, exclude flaky tests, and build trust in automation results.
Read article