Skip to content

Conversation

@hrushikesh1310
Copy link

@hrushikesh1310 hrushikesh1310 commented Jan 21, 2026

User description

Thanks for contributing to the Selenium site and documentation!
A PR well described will help maintainers to review and merge it quickly

Before submitting your PR, please check our contributing guidelines.
Avoid large PRs, and help reviewers by making them as simple and short as possible.

Description

Motivation and Context

Types of changes

  • Change to the site (I have double-checked the Netlify deployment, and my changes look good)
  • Code example added (and I also added the example to all translated languages)
  • Improved translation
  • Added new translation (and I also added a notice to each document missing translation)

Checklist

  • I have read the contributing document.
  • I have used hugo to render the site/docs locally and I am sure it works.

PR Type

Enhancement


Description

  • Update Selenium server JAR version from 4.38.0 to 4.40.0

  • Applies to Python, .NET, and Ruby test configurations

  • Updates server references across multiple test fixture files


Diagram Walkthrough

flowchart LR
  A["Selenium Server 4.38.0"] -- "Version Upgrade" --> B["Selenium Server 4.40.0"]
  B --> C["Python conftest.py"]
  B --> D[".NET BaseTest.cs"]
  B --> E["Ruby remote_webdriver_spec.rb"]
Loading

File Walkthrough

Relevant files
Configuration changes
conftest.py
Update Python test fixtures to 4.40.0                                       

examples/python/tests/conftest.py

  • Updated server_old fixture to use selenium-server-4.40.0.jar
  • Updated server fixture to use selenium-server-4.40.0.jar
  • Updated grid_server fixture to use selenium-server-4.40.0.jar
+3/-3     
BaseTest.cs
Update .NET BaseTest server version                                           

examples/dotnet/SeleniumDocs/BaseTest.cs

  • Updated ServerJarName constant from 4.38.0 to 4.40.0
+1/-1     
remote_webdriver_spec.rb
Update Ruby test server version                                                   

examples/ruby/spec/drivers/remote_webdriver_spec.rb

  • Updated server fixture to reference selenium-server-4.40.0.jar
+1/-1     

@netlify
Copy link

netlify bot commented Jan 21, 2026

👷 Deploy request for selenium-dev pending review.

Visit the deploys page to approve it

Name Link
🔨 Latest commit 293e6f2

@CLAassistant
Copy link

CLAassistant commented Jan 21, 2026

CLA assistant check
All committers have signed the CLA.

@qodo-code-review
Copy link
Contributor

qodo-code-review bot commented Jan 21, 2026

PR Compliance Guide 🔍

Below is a summary of compliance checks for this PR:

Security Compliance
🟢
No security concerns identified No security vulnerabilities detected by AI analysis. Human verification advised for critical code.
Ticket Compliance
🎫 No ticket provided
  • Create ticket/issue
Codebase Duplication Compliance
Codebase context is not defined

Follow the guide to enable codebase context checks.

Custom Compliance
🟢
Generic: Comprehensive Audit Trails

Objective: To create a detailed and reliable record of critical system actions for security analysis
and compliance.

Status: Passed

Learn more about managing compliance generic rules or creating your own custom rules

Generic: Meaningful Naming and Self-Documenting Code

Objective: Ensure all identifiers clearly express their purpose and intent, making code
self-documenting

Status: Passed

Learn more about managing compliance generic rules or creating your own custom rules

Generic: Robust Error Handling and Edge Case Management

Objective: Ensure comprehensive error handling that provides meaningful context and graceful
degradation

Status: Passed

Learn more about managing compliance generic rules or creating your own custom rules

Generic: Secure Error Handling

Objective: To prevent the leakage of sensitive system information through error messages while
providing sufficient detail for internal debugging.

Status: Passed

Learn more about managing compliance generic rules or creating your own custom rules

Generic: Secure Logging Practices

Objective: To ensure logs are useful for debugging and auditing without exposing sensitive
information like PII, PHI, or cardholder data.

Status: Passed

Learn more about managing compliance generic rules or creating your own custom rules

Generic: Security-First Input Validation and Data Handling

Objective: Ensure all data inputs are validated, sanitized, and handled securely to prevent
vulnerabilities

Status: Passed

Learn more about managing compliance generic rules or creating your own custom rules

  • Update
Compliance status legend 🟢 - Fully Compliant
🟡 - Partial Compliant
🔴 - Not Compliant
⚪ - Requires Further Human Verification
🏷️ - Compliance label

@qodo-code-review
Copy link
Contributor

qodo-code-review bot commented Jan 21, 2026

PR Code Suggestions ✨

Explore these optional code suggestions:

CategorySuggestion                                                                                                                                    Impact
General
Avoid repeating hardcoded version strings

To improve maintainability, define the Selenium server JAR filename as a
module-level constant in conftest.py. Then, reference this constant within the
server_old, server, and grid_server fixtures instead of using a hardcoded
string.

examples/python/tests/conftest.py [142-284]

+import logging
+import os
+...
+
+_SERVER_JAR = "selenium-server-4.40.0.jar"
+
+
+def pytest_configure(config):
+...
 @pytest.fixture(scope="function")
 def server_old(request):
     _host = "localhost"
     _port = free_port()
     _path = os.path.join(
         os.path.dirname(
             os.path.dirname(
                 os.path.abspath(__file__)
             )
         ),
-        "selenium-server-4.40.0.jar",
+        _SERVER_JAR,
     )
 ...
 @pytest.fixture(scope="function")
 def server():
     _host = "localhost"
     _port = free_port()
     _path = os.path.join(
         os.path.dirname(
             os.path.dirname(
                 os.path.dirname(
                     os.path.abspath(__file__)
                 )
             )
         ),
-        "selenium-server-4.40.0.jar",
+        _SERVER_JAR,
     )
 ...
 @pytest.fixture(scope="function")
 def grid_server():
     _host = "localhost"
 ...
     _path = os.path.join(
         os.path.dirname(
             os.path.dirname(
                 os.path.dirname(
                     os.path.abspath(__file__)
                 )
             )
         ),
-        "selenium-server-4.40.0.jar",
+        _SERVER_JAR,
     )

[To ensure code accuracy, apply this suggestion manually]

Suggestion importance[1-10]: 7

__

Why: The suggestion correctly identifies repeated hardcoded strings across multiple fixtures and proposes a valid refactoring to a constant, which improves code maintainability and adheres to the DRY principle.

Medium
  • Update

Copy link
Member

@harsha509 harsha509 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM!

Thank you @hrushikesh1310 !

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants