Frequently asked questions

    Questions, answered honestly

    The questions teams actually ask before adopting TuscanoLabs. If something here is unclear or your specific case isn't covered, email support@tuscanolabs.com.

    Getting started

    What does TuscanoLabs actually do?

    It scans an existing Selenium or Cypress test suite, generates a migration readiness report, and converts the tests to Playwright. The conversion is AI-assisted: a deterministic rule engine handles the common cases identically every time, and a Claude-based fallback handles the long tail with full project context.

    How do I run my first scan?

    Sign in, then either upload a folder of test files or connect a public GitHub repository from the dashboard. The scanner produces a report in a few minutes; the report page has a 'Convert All' button that generates the Playwright project.

    Do I need to install anything?

    No. TuscanoLabs runs entirely in the browser plus our backend — there is no CLI, no GitHub App to install, and no agent to run inside your repo. For private repositories you connect your GitHub account via OAuth and we read the repo on demand.

    How long does a scan take?

    Analysis usually finishes in under a minute for small to medium projects. The full Convert All flow takes longer because it processes each file individually and runs validation — expect a few minutes for a typical suite, more for very large repos.

    What we support

    Which source frameworks can I migrate from?

    Selenium (JavaScript, TypeScript, Java, Python) and Cypress (JavaScript, TypeScript, Cucumber/BDD) are fully supported today. WebdriverIO, TestCafe, and Puppeteer are on our roadmap — contact support@tuscanolabs.com if you need them.

    Which languages are supported?

    On the source side: Java, Python, JavaScript, and TypeScript. On the target (Playwright) side: TypeScript, JavaScript, and Python. C# support is on our roadmap. You pick the target language at conversion time.

    Which test runners are detected?

    JUnit 4, JUnit 5, TestNG, pytest, unittest, NUnit, xUnit, MSTest, Mocha, Jest, and Vitest. Detection runs against your config files, imports, and annotation patterns — not just file names — so it works on non-standard layouts.

    Do you support Page Object Model and Cucumber/BDD projects?

    Yes. The scanner detects POM, Cucumber/BDD, and API-test architectures. POM repos generate Playwright POM classes with fixtures, BDD repos generate playwright-bdd feature and step files, and mixed codebases get a per-area recommendation rather than a forced one-size structure.

    What about mobile (Appium) tests?

    Not currently in scope. TuscanoLabs targets web test migration. Appium and electron-specific Selenium patterns are not on the supported list today.

    How conversion works

    Is this just an LLM wrapper?

    No. The first layer is a deterministic rule engine — the same input always produces the same output. The Layer 2 AI fallback is only invoked for code the rules don't cover, and even then the AI gets the file's helpers, page objects, and project context as part of the prompt rather than a snippet in isolation.

    What percentage of my tests will convert automatically?

    It depends on the codebase. Standard Cypress and Selenium suites with conventional architecture typically auto-convert most files; suites with heavy custom commands, deep helper chains, or non-standard fixtures need more review. Your scan report shows a real readiness score for your specific code, not a generic claim.

    What happens to files the converter cannot handle?

    They are flagged in the report with a specific reason — for example, 'unrecognised custom command', 'unsupported assertion library', 'helper file missing'. They are not silently dropped or replaced with placeholders. You can hand-edit them in the conversion preview or regenerate them with the AI after fixing the upstream issue.

    Can I review the output before downloading?

    Yes. After Convert All runs, the conversion preview page shows a side-by-side diff for every file. You can edit any file inline, regenerate a single file, or report a specific issue. The download is a ready-to-run Playwright project ZIP.

    Are converted tests guaranteed to pass first time?

    No. We aim for runnable-on-day-one and most files achieve that, but selectors against a real application sometimes need adjustment, environment-specific config has to be set, and any test that depended on a custom plugin will need that plugin replaced. Treat the output as a strong starting point, not a final commit.

    Pricing and limits

    How much does TuscanoLabs cost?

    New accounts get 3 free scans with no credit card required. Beyond that, pricing depends on conversion volume — contact support@tuscanolabs.com for details specific to your team.

    Is there a free tier for open source?

    Not as a separate plan. The 3 free scans on a new account are the same regardless of whether the repo is open or closed source. If you're maintaining a high-impact open source project and want to discuss something more, get in touch.

    Are there file size or repo size limits?

    Yes — there are practical limits on the number of test files we will process per scan to keep response times reasonable. Very large monorepos may need to be scoped to a sub-directory. The scanner reports any files it skipped due to size or type filters.

    Security and data

    What happens to my test source code after a scan?

    Uploaded source files are stored alongside your report so that conversion preview, regeneration, and ZIP download work after the initial scan. They are automatically purged 30 days after the scan, or immediately when you delete the report from your dashboard.

    Is my code used to train AI models?

    No. AI conversion uses Anthropic's Claude API under their commercial terms, which contractually prohibit using API inputs or outputs for model training. We do not feed your source code into any training pipeline of our own either.

    How are GitHub access tokens stored?

    Tokens are encrypted at rest using AES-GCM with a key managed outside the database. Connecting GitHub stores only the scoped OAuth token; disconnecting GitHub immediately deletes it. Read paths only use the token to fetch the specific repository you authorise.

    Can other users see my reports?

    No. Every customer-data table has row-level security policies that scope rows to the account that created them. Other accounts cannot read or query your data, even with a known report ID. Service-role access is restricted to backend code that already verifies ownership.

    Are you SOC 2 / ISO 27001 certified?

    Not yet — and we won't claim to be. The Security page lists the controls we actually implement today (TLS, encryption at rest, RLS, rate limiting, sanitised logs, dependency monitoring, code review). If your procurement process requires a specific certification, get in touch and we can talk about what we can share.

    Account

    How do I delete my account or my data?

    You can delete individual reports from the dashboard at any time, which also removes the stored source files for that scan. Account deletion is available on request via support@tuscanolabs.com — we will respond within 30 days, in line with the GDPR rights described in our Privacy Policy.

    Can I export my reports?

    Yes. Reports can be exported as PDF for stakeholder review, and converted projects download as a Playwright project ZIP that's ready to run.

    Troubleshooting

    My scan finished but the conversion preview is empty

    Two common causes: (1) the report was generated by an upload flow without source files attached, or (2) a Convert All run has not been triggered yet. Open the report and click Convert All to generate the converted files.

    Convert All says my GitHub connection expired

    GitHub OAuth tokens expire over time. Reconnect GitHub from the dashboard — the connection screen will prompt you to re-authorise — and retry the conversion.

    A file converted incorrectly. What should I do?

    Open the file in the conversion preview, click 'Report issue' in the bottom action bar, and pick the category that fits. The feedback is logged against that specific file and informs which patterns we improve next. You can also regenerate that file with the AI to try a different output.

    Where can I get help?

    Email support@tuscanolabs.com. We read every message.

    Still have questions?

    Run a scan on your own repo and judge the output yourself. Or email us — we answer real questions, not just sales ones.

    Email support