‹ Reports
The Dispatch

OSS Report: SeleniumHQ/selenium


Selenium Project Faces Compatibility Challenges with Latest Chrome Version

Selenium, a leading browser automation framework, is experiencing compatibility issues with the latest Chrome version, impacting headless mode and BiDi commands. The project, maintained by a community of volunteers, continues to provide cross-platform browser automation tools adhering to the W3C WebDriver specification.

Recent Activity

Recent pull requests and issues reveal a focus on enhancing existing features and addressing bugs. Notable PRs include enhancements to network request handling (#14424) and improvements in element clickability checks (#14432). Dependency updates (#14473) ensure performance and security are maintained.

Development Team and Recent Activity

  1. Nikolay Borisenko (nvborisenko)

    • Revealed original exception messages in .NET driver (Fix #14483).
    • Implemented BiDi-related changes.
    • Made formatting fixes.
  2. Diego Molina (diemol)

    • Updated CI workflows and documentation.
    • Prepared for Selenium 4.25.0 release.
    • Updated API documentation.
  3. Selenium CI Bot (selenium-ci)

    • Automated versioning and documentation updates.
  4. Simon Stewart (shs96c)

    • Managed dependency updates and Bazel configurations.
  5. Navin Chandra (navin772)

    • Fixed Python event firing tests.
    • Addressed type errors in Python files.
  6. Swastik Baranwal (Delta456)

    • Fixed Java test cookie handling.
    • Updated .gitignore files.
  7. Boni García (bonigarcia)

    • Contributed Rust-related fixes.
  8. Puja Jagani (pujagani)

    • Enhanced BiDi features and fixed flaky tests.
  9. Augustin Gottlieb Pequeno (aguspe)

    • Enhanced Ruby driver path settings.
  10. Sri Harsha (harsha509)

    • Fixed Python type errors and lint issues.
  11. Dominic Evans (dnwe)

    • Improved GitHub workflows for security.

Of Note

The project's active development reflects a commitment to maintaining high standards while addressing emerging challenges, particularly with new browser versions.

Quantified Reports

Quantify Issues



Recent GitHub Issues Activity

Timespan Opened Closed Comments Labeled Milestones
7 Days 16 12 48 1 1
30 Days 60 40 217 1 1
90 Days 190 149 1043 3 1
1 Year 332 200 1831 6 4
All Time 10386 10217 - - -

Like all software activity quantification, these numbers are imperfect but sometimes useful. Comments, Labels, and Milestones refer to those issues opened in the timespan in question.

Quantify commits



Quantified Commit Activity Over 30 Days

Developer Avatar Branches PRs Commits Files Changes
Diego Molina 2 2/3/0 40 1413 7656260
Nikolay Borisenko 1 3/3/0 17 161 5090
Selenium CI Bot 2 2/2/0 8 57 1282
renovate[bot] 4 0/0/0 4 3 1120
Augustin Gottlieb Pequeno 1 1/2/0 2 22 259
Boni García 1 2/3/0 4 6 197
Navin Chandra 1 7/4/0 4 21 125
Swastik Baranwal 1 9/5/0 5 6 64
Puja Jagani 1 5/3/0 13 14 60
Simon Stewart 1 3/3/0 7 5 48
Dominic Evans 1 1/1/0 1 1 15
Sri Harsha 1 0/0/0 2 1 5
Noel Kim (김민혁) (nnnnoel) 0 1/0/0 0 0 0
Scott Babcock (sbabcoc) 0 1/0/0 0 0 0
None (AdamPDotty) 0 1/0/0 0 0 0
None (Abdelrahman7200) 0 1/0/1 0 0 0

PRs: created by that dev and opened/merged/closed-unmerged during the period

Detailed Reports

Report On: Fetch issues



Recent Activity Analysis

The Selenium project has seen a surge in recent activity, with 169 open issues currently logged. Notably, several issues pertain to the latest Chrome version (129), indicating potential compatibility challenges. A recurring theme is the handling of headless mode and BiDi commands, which have led to various user-reported bugs and feature requests.

Several issues exhibit significant anomalies, such as the NoSuchSessionException and SessionNotCreatedException, which suggest underlying problems with session management under high load or specific configurations. Additionally, there are concerns about the performance of network monitoring features impacting page load times. The presence of multiple issues related to proxy settings and authentication indicates a need for improved documentation and support for these features.

Issue Details

Here are some of the most recently created and updated issues:

  1. Issue #14534: [🐛 Bug]: Memory Leak Issue Report

    • Priority: High
    • Status: Open
    • Created: 0 days ago
    • Update: N/A
  2. Issue #14533: [🚀 Feature]: [dotnet] [bidi] Support browser GetClientWindows command

    • Priority: Medium
    • Status: Open
    • Created: 0 days ago
    • Update: N/A
  3. Issue #14532: [🚀 Feature]: [dotnet] [bidi] Support SetCacheBehavior in Network module

    • Priority: Medium
    • Status: Open
    • Created: 0 days ago
    • Update: N/A
  4. Issue #14530: [dotnet] [bidi] Earlier preview feedback gathering

    • Priority: Low
    • Status: Open
    • Created: 1 day ago
    • Update: N/A
  5. Issue #14520: [🐛 Bug]: ava.lang.NoSuchMethodError: 'void org.openqa.selenium.remote.service.DriverFinder.

    • Priority: High
    • Status: Open
    • Created: 6 days ago
    • Update: N/A
  6. Issue #14518: [🐛 Bug]: Cannot open Chrome session with incognito mode along with Bidi CDP

    • Priority: High
    • Status: Open
    • Created: 6 days ago
    • Update: Edited 5 days ago
  7. Issue #14517: [🐛 Bug]: HTTP exception thrown

    • Priority: Medium
    • Status: Open
    • Created: 6 days ago
    • Update: N/A
  8. Issue #14513: [🐛 Bug]: [dotnet] Unable to use wrapped IWebElements from EventFiringWebDriver within Actions

    • Priority: Medium
    • Status: Open
    • Created: 8 days ago
    • Update: N/A
  9. Issue #14509: [🐛 Bug]: vertical size not matching

    • Priority: Medium
    • Status: Open
    • Created: 8 days ago
    • Update: N/A
  10. Issue #14508: [🐛 Bug]: CEF browser is not activating while switching to new window

    • Priority: Medium
    • Status: Open
    • Created: 8 days ago
    • Update: N/A

Summary of Key Issues

  • Several issues are linked to the latest Chrome version (129), particularly concerning headless mode and BiDi functionalities.
  • Users are reporting problems with session management, especially under high load conditions.
  • Proxy settings and authentication methods remain a common pain point, indicating a need for enhanced documentation and support.
  • The presence of memory leak reports suggests potential stability issues that require immediate attention.

This analysis highlights the ongoing challenges faced by Selenium users, particularly with the latest updates and configurations, emphasizing the importance of community feedback in addressing these concerns effectively.

Report On: Fetch pull requests



Overview

The provided pull requests (PRs) for the Selenium project cover a range of enhancements, bug fixes, and dependency updates across different components of the framework. Notable changes include the addition of new features like network request handler APIs in BiDi, improvements in existing functionalities such as handling pointer-events: none in WebDriver, and updates to dependencies for better performance and security.

Summary of Pull Requests

Recent PRs

  • PR #14481: Introduces generated JSON serializer context for Selenium Manager output in .NET, enhancing type safety and AOT compatibility.
  • PR #14473: Updates Bazel dependencies to their latest versions, improving build efficiency and maintainability.
  • PR #14432: Enhances ExpectedCondition::toBeClickable methods to correctly handle elements with pointer-events: none, addressing a bug related to clickable element detection.
  • PR #14430: Refactors process termination logic in Ruby to improve clarity and error handling during WebDriver shutdown.
  • PR #14410: Adds a limit on the number of websocket connections per session in Grid, enhancing resource management and preventing excessive resource blocking.

Notable Features and Fixes

  • Network Request Handler APIs: PR #14424 adds functionality to modify/intercept network requests using BiDi, expanding Selenium's capabilities in network manipulation.
  • Enhanced Clickability Check: PR #14432 improves how Selenium determines if an element is clickable, considering CSS properties like pointer-events, which can affect user interactions.
  • Graceful Shutdown Handling: PR #14430 refines how Selenium handles shutting down WebDriver instances, ensuring that resources are released promptly and accurately.

Analysis of Pull Requests

Themes and Commonalities

  1. Enhancements to Existing Features: Several PRs focus on enhancing existing functionalities, such as improved handling of clickable elements (PR #14432) and more robust shutdown procedures (PR #14430). These improvements aim to make Selenium more reliable and efficient in various scenarios.

  2. Expansion of Capabilities: The addition of network request handler APIs (PR #14424) signifies an expansion of Selenium's capabilities, allowing for more advanced testing scenarios where network behavior can be manipulated or monitored.

  3. Dependency Management: Regular updates to dependencies (e.g., PR #14473) reflect ongoing efforts to maintain compatibility with the latest tools and libraries, ensuring that Selenium benefits from performance improvements and security patches.

  4. Cross-Language Improvements: Changes span multiple programming languages supported by Selenium (Java, Ruby, .NET), indicating a coordinated effort to enhance the framework's overall functionality across its various implementations.

Anomalies and Considerations

  • The introduction of limits on websocket connections per session (PR #14410) addresses potential resource exhaustion issues but may require careful consideration regarding default values and their impact on existing users' workflows.
  • The enhancement of JSON serialization in .NET (PR #14481) suggests a focus on improving interoperability and performance within the .NET ecosystem, which could influence how Selenium Manager integrates with other tools or frameworks in .NET environments.

Overall, these pull requests demonstrate active development aimed at refining existing features, expanding capabilities, and ensuring robust dependency management across the Selenium project. The focus on both enhancements and new features indicates a balanced approach to maintaining stability while also pushing forward with new functionalities.

Report On: Fetch commits



Repo Commits Analysis

Development Team and Recent Activity

Team Members and Their Recent Activities

  1. Nikolay Borisenko (nvborisenko)

    • Recent Activity:
    • Worked on revealing original exception messages in the .NET driver (Fix #14483).
    • Implemented several BiDi-related changes, including simplifying browsing context types and renaming methods.
    • Made formatting fixes across multiple files.
    • Collaborations: Engaged in co-authoring with Diego Molina and others on various commits.
  2. Diego Molina (diemol)

    • Recent Activity:
    • Pushed multiple updates to CI workflows, including documentation updates and artifact handling.
    • Contributed significantly to the release preparation for Selenium 4.25.0, updating various dependencies and changelogs.
    • Updated API documentation for multiple languages.
    • Collaborations: Frequently co-authored with the Selenium CI Bot and other team members.
  3. Selenium CI Bot (selenium-ci)

    • Recent Activity:
    • Automated updates for versioning and documentation.
    • Managed routine updates to mirror information and browser versions.
    • Collaborations: Works in conjunction with Diego Molina on release preparations.
  4. Simon Stewart (shs96c)

    • Recent Activity:
    • Focused on dependency management, including bumping versions for Java rules and fixing issues related to Bazel configurations.
    • Collaborations: Co-authored several commits with Diego Molina.
  5. Navin Chandra (navin772)

    • Recent Activity:
    • Fixed tests related to event firing in Python.
    • Addressed type errors in various Python files.
    • Collaborations: Co-authored with Sri Harsha on multiple fixes.
  6. Swastik Baranwal (Delta456)

    • Recent Activity:
    • Worked on fixing cookie handling in Java tests and made updates to .gitignore files.
    • Collaborations: Engaged in co-authoring with Puja Jagani.
  7. Boni García (bonigarcia)

    • Recent Activity:
    • Contributed to Rust-related fixes, including handling browser paths and updating changelogs.
    • Collaborations: Co-authored with Diego Molina.
  8. Puja Jagani (pujagani)

    • Recent Activity:
    • Focused on BiDi enhancements, fixing flaky tests, and improving cookie handling in Java tests.
    • Collaborations: Frequently collaborated with Swastik Baranwal and others.
  9. Augustin Gottlieb Pequeno (aguspe)

    • Recent Activity:
    • Worked on Ruby driver enhancements, including setting driver paths via environment variables.
    • Collaborations: Co-authored with other team members on various Ruby-related tasks.
  10. Sri Harsha (harsha509)

    • Recent Activity:
    • Addressed type errors across Python files and fixed lint issues.
    • Collaborations: Worked closely with Navin Chandra.
  11. Dominic Evans (dnwe)

    • Recent Activity:
    • Made improvements to GitHub workflows to enhance functionality and security.
    • Collaborations: Engaged in collaborative efforts within CI/CD processes.

Patterns, Themes, and Conclusions

  • The development team is actively engaged in enhancing the Selenium framework across multiple programming languages, particularly focusing on BiDi implementations, CI/CD improvements, and bug fixes.
  • Collaboration is a significant theme, with many commits co-authored by team members, indicating a strong culture of teamwork and shared responsibility for code quality.
  • Diego Molina is particularly active in CI/CD processes and documentation updates, reflecting a leadership role within the team regarding project management tasks.
  • The focus on fixing bugs and enhancing existing features suggests a commitment to maintaining high software quality standards while also preparing for upcoming releases (e.g., Selenium 4.25.0).
  • The diverse contributions across different programming languages highlight the project's extensive ecosystem and the team's versatility in addressing cross-platform automation needs.