-
-
Couldn't load subscription status.
- Fork 1.5k
Upgrade tests to use 4.38 and Python 3.14 #2511
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
👷 Deploy request for selenium-dev pending review.Visit the deploys page to approve it
|
PR Compliance Guide 🔍
Below is a summary of compliance checks for this PR:
No security concerns identified
No security vulnerabilities detected by AI analysis. Human verification advised for critical code.🎫 No ticket provided
- Create ticket/issue
Codebase context is not defined
Follow the guide to enable codebase context checks.
Generic: Meaningful Naming and Self-Documenting Code
Objective: Ensure all identifiers clearly express their purpose and intent, making code
self-documenting
Status: Passed
Generic: Comprehensive Audit Trails
Objective: To create a detailed and reliable record of critical system actions for security analysis
and compliance.
Status:
No audit logs: The PR only updates versions and CI matrices without introducing or affecting any
application logic where critical actions would be logged, so audit trail compliance cannot
be assessed from these changes.
Referred Code
- os: ubuntu release: stable python: '3.10' - os: ubuntu release: nightly python: '3.14' - os: windows release: stable python: '3.10' - os: windows release: nightly python: '3.14' - os: macos release: stable python: '3.10' - os: macos release: nightly python: '3.14' runs-on: ${{ format('{0}-latest', matrix.os) }} steps: - name: Checkout GitHub repo ... (clipped 1 lines)
Generic: Robust Error Handling and Edge Case Management
Objective: Ensure comprehensive error handling that provides meaningful context and graceful
degradation
Status:
No error handling: The added change only updates a JAR filename in a test setup without modifying or adding
error handling; robustness cannot be evaluated from this version bump.
Referred Code
Selenium::Server.new(File.expand_path(File.join('..', '..', '..', 'selenium-server-4.38.0.jar'), __dir__), background: true, args: %w[--selenium-manager true --enable-managed-downloads true]) end
Generic: Secure Error Handling
Objective: To prevent the leakage of sensitive system information through error messages while
providing sufficient detail for internal debugging.
Status:
Indirect impact: Dependency upgrades may alter error messages or logging behavior, but the diff does not
add user-facing error handling; security of errors cannot be determined from these changes
alone.
Referred Code
selenium==4.38.0
pytest==8.4.2
trio==0.31.0
pytest-trio==0.8.0
pytest-rerunfailures==16.1
flake8==7.3.0
requests==2.32.5
tox==4.32.0
pytest-xdist==3.8.0
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:
Logging unchanged: The workflow matrix and dependency version bumps do not introduce logging code; whether
logs avoid sensitive data cannot be assessed from this diff.
Referred Code
- os: ubuntu release: stable python: '3.10' - os: ubuntu release: nightly python: '3.14' - os: windows release: stable python: '3.10' - os: windows release: nightly python: '3.14' - os: macos release: stable python: '3.10' - os: macos release: nightly python: '3.14' runs-on: ${{ format('{0}-latest', matrix.os) }} steps: - name: Checkout GitHub repo ... (clipped 1 lines)
Generic: Security-First Input Validation and Data Handling
Objective: Ensure all data inputs are validated, sanitized, and handled securely to prevent
vulnerabilities
Status:
No input paths: The changes adjust interpreter targets and versions without introducing input processing;
validation and data handling security cannot be evaluated from these modifications.
Referred Code
# Tox (https://tox.wiki/) is a tool for running tests in multiple # virtualenvs. This configuration file will run the test suite on all # supported python versions. To use it, run "tox" from this directory. # # For a specific environment, run: "tox -e <env>" (i.e.: "tox -e py314") # # This tox configuration will skip any Python interpreters that can't be found. # To manage multiple Python interpreters for covering all versions, you can use # pyenv: https://github.com/pyenv/pyenv [tox] env_list = py310 py311 py312 py313 py314 skip_missing_interpreters = True [testenv] ... (clipped 1 lines)
- Update
Compliance status legend
🟢 - Fully Compliant🟡 - Partial Compliant
🔴 - Not Compliant
⚪ - Requires Further Human Verification
🏷️ - Compliance label
PR Code Suggestions ✨Explore these optional code suggestions:
|
|||||||||||
@harsha509 @diemol please review
Java is failing with these changes... not sure why
I'm going through all the failures and trying to figure out what was failing before and what is failing because of these changes :/
I've fixed some of the failures, but not all. The examples don't pass in trunk either.
Uh oh!
There was an error while loading. Please reload this page.
User description
Description
This PR finishes upgrading all tests to use Selenium 4.38.
Also:
tox.inito use xdist plugin (-n auto) when running tests locally to match CITypes of changes
Checklist
PR Type
Enhancement
Description
Upgrade Selenium WebDriver to version 4.38.0 across all language examples
Update Python CI workflows to test on Python 3.10 and 3.14
Drop Python 3.9 support, add Python 3.14 to test matrix
Update Python and Ruby dependencies to latest compatible versions
Diagram Walkthrough
File Walkthrough
python-examples.yml
Update Python CI test matrix to 3.10 and 3.14.github/workflows/python-examples.yml
Windows
3.13
tox.ini
Update tox environments to drop 3.9, add 3.14examples/python/tox.ini
remote_webdriver_spec.rb
Update Selenium Server JAR version referenceexamples/ruby/spec/drivers/remote_webdriver_spec.rb
SeleniumDocs.csproj
Upgrade .NET Selenium packages to 4.38.0examples/dotnet/SeleniumDocs/SeleniumDocs.csproj
pom.xml
Upgrade Java Selenium dependency to 4.38.0examples/java/pom.xml
pom.xml
Upgrade Kotlin Selenium dependency to 4.38.0examples/kotlin/pom.xml
requirements.txt
Upgrade Python dependencies including Selenium 4.38.0examples/python/requirements.txt
Gemfile
Upgrade Ruby Selenium gems to latest versionsexamples/ruby/Gemfile