Skip to main content

sel2pw-scan

Offline inventory of a Selenium Java test project, for assessing a migration to Python Playwright.

sel2pw-scan reads your .java files and build files and writes a report: which test framework you use, how many tests, page objects and helper classes you have, and how often your code uses Selenium features that need deliberate work in a migration (fixed sleeps, frames, alerts, JavaScript calls, data providers and so on).

It is a scanner only. It does not convert or change any code, uses no AI model and makes no network calls.

Install

Requires Python 3.10 or newer.

pip install sel2pw-scan

Use

sel2pw-scan path/to/selenium-project --out inventory.md
Option Effect
--out FILE Write the report to a file instead of printing it
--format md Default. Summary report, described below
--format json Full detail for tooling, including locator values and annotation attributes
--version Print the version

python -m sel2pw_scan ... works the same way.

What the report contains

The Markdown report (--format md) lists:

  • the scanned folder path, detected frameworks (TestNG, JUnit 4, JUnit 5, Cucumber), Selenium version (resolved from Maven properties, gradle.properties or Gradle variables) and build files
  • counts of Java files, test classes, page objects, base and utility classes, and test methods, split into UI tests (code that reaches Selenium or Appium) and unit tests (code that does not), plus disabled ones
  • for Cucumber projects: each feature file and scenario with its tags, how many test cases each Scenario Outline expands to, and the number of step definitions
  • how often each of 27 Selenium constructs appears, such as fixed_sleep, frames, alerts, javascript_execution, data_provider and selenium_grid
  • every test method as ClassName#method, with its file, line, assertion count and constructs
  • every class with its role (test, step definitions, runner, page object, base/utility, enum, interface or other), parent class and the project classes it depends on

It does not contain test code, Gherkin step text, locator values, string literals or test data. It does contain names: classes, test methods, features and scenarios. Read it before sharing, and rename anything you consider sensitive.

The JSON report (--format json) adds locator values and annotation attributes, so treat it as internal.

Limits

The scan uses pattern matching, not a full Java parser, so counts can be slightly off for unusual code. It finds JUnit and TestNG tests by annotations such as @Test, and Cucumber scenarios in .feature files written with English Gherkin keywords. Kotlin and Groovy sources are not read.

License

MIT

Metadata

Release files for sel2pw-scan 0.2.2

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for sel2pw-scan 0.2.2
File Size Uploaded
sel2pw_scan-0.2.2.tar.gz 17.5 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for sel2pw-scan 0.2.2
File Interpreter ABI Platform
sel2pw_scan-0.2.2-py3-none-any.whl Python 3 none any Details

Total release size: 31.9 kB

Release files / sel2pw_scan-0.2.2.tar.gz

Download URL sel2pw_scan-0.2.2.tar.gz
Size 17.5 kB
Tags Source
SHA-256 checksum
How to use checksums
dfc91b7341296e5d3386fe1a4e103fa895d0dc3602315db0b3674ee17bb79fb5
BLAKE2b-256 checksum
How to use checksums
97995ebee58e44706d26768d70830b26b17e928829c1109b3a6a28aa003bcf12
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 8, 2026.

Transparency log

Release files / sel2pw_scan-0.2.2-py3-none-any.whl

Download URL sel2pw_scan-0.2.2-py3-none-any.whl
Size 14.4 kB
Tags Python 3
SHA-256 checksum
How to use checksums
fcfbc74b9c5856d2e37deb1a8750d3bd97f8ccd30440622d1a4fbb619f3c88f0
BLAKE2b-256 checksum
How to use checksums
5968ef9805717e80b9f7d6672d7db2576d877bb7bee3a7aad3991df4a0aeedce
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 8, 2026.

Transparency log

Release history Release notifications | RSS feed

0.4.1

2 release files

0.4.0

2 release files

0.3.2

2 release files

0.3.1

2 release files

0.3.0

2 release files

This release

0.2.2 This release

2 release files

0.2.1

2 release files

0.2.0

2 release files

0.1.1

2 release files

0.1.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page