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), Selenium version and build files
- counts of Java files, test classes, page objects, base and utility classes, and test methods (including disabled ones)
- how often each of 27 Selenium constructs appears, such as
fixed_sleep,frames,alerts,javascript_execution,data_providerandselenium_grid - every test method as
ClassName#method, with its file, line, assertion count and constructs - every class with its role, parent class and the project classes it depends on
It does not contain test code, locator values, string literals or test data. Read it before sharing, and rename anything you consider sensitive, such as class names.
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 tests by annotations such as @Test; Cucumber .feature files and Kotlin or Groovy sources are not read.
License
Metadata
Release files for sel2pw-scan 0.1.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| sel2pw_scan-0.1.0.tar.gz | 13.3 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| sel2pw_scan-0.1.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 25.0 kB
Release files / sel2pw_scan-0.1.0.tar.gz
| Download URL | sel2pw_scan-0.1.0.tar.gz |
|---|---|
| Size | 13.3 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
50a6aa246863c3203baab4066acbe65c927118ea139273ac3a819ecdb8d3fb43
|
|
BLAKE2b-256 checksum How to use checksums |
60394eb9ea939a086c106e5f96bdf55fd76b7e822432a7a31ebc39d878478494
|
| 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 7, 2026.
Transparency logRelease files / sel2pw_scan-0.1.0-py3-none-any.whl
| Download URL | sel2pw_scan-0.1.0-py3-none-any.whl |
|---|---|
| Size | 11.7 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
187626e280fb07d1dd585ad5c8de328f5d79029aeab64dbfc9e9b89943f62135
|
|
BLAKE2b-256 checksum How to use checksums |
037558a2aba1040225b11b714bafeaa44b1260716720ddf6f1240085ffb14f9a
|
| 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 7, 2026.
Transparency log