selenium-ui-test-generator — independently scanned and version-tracked by SaferSkills.
SaferSkills independently audited selenium-ui-test-generator (Agent Skill) and scored it 100/100 (green). The audit ran 55 deterministic rules across Security, Supply Chain, Maintenance, Transparency, and Community; it found 0 high-severity and 0 lower-severity findings. The full rule-by-rule trace and per-finding evidence are below. Free, methodology-open.
Findings & checks · 0 flagged
Every scanned point with the score it earned and what moved between them.
First recorded scan — no prior version to compare against.
The primary manifest — the file an agent reads to learn what this artifact does.
Cost warning: UI tests cost 30-50 credits each (vs. 10-15 for unit tests). Always inform the user of this before generating.
Ask the user to pick 2-3 critical flows maximum (e.g., login, form submission, checkout). Provide cost comparison so they can make an informed choice.
This is critical for avoiding wasted iterations. Ask the user to provide:
data-testid attributes (preferred)Without real selectors, tests will likely fail and waste credits. If the user cannot provide selectors, warn them of the higher failure risk before proceeding.
See references/react-testid-guide.md for the recommended data-testid pattern. Load selectors from assets/selectors-config.json when available.
Unlike unit/API skills, generate only 1 UI test per iteration due to the high cost.
Use explicit waits and data-testid selectors:
@Test
void testUserLogin() {
driver.get("http://localhost:3000/login");
WebDriverWait wait = new WebDriverWait(driver, Duration.ofSeconds(10));
wait.until(ExpectedConditions.presenceOfElementLocated(
By.cssSelector("[data-testid='login-form']")
));
driver.findElement(By.cssSelector("[data-testid='username-input']"))
.sendKeys("[email protected]");
driver.findElement(By.cssSelector("[data-testid='password-input']"))
.sendKeys("password123");
driver.findElement(By.cssSelector("[data-testid='login-button']"))
.click();
wait.until(ExpectedConditions.urlContains("/dashboard"));
assertTrue(driver.getCurrentUrl().contains("/dashboard"));
}STOP. Ask the user to run the test before continuing.
python scripts/validate_ui_tests.py <TestClassName>Add --headed to see the browser during debugging.
If test fails:
Report credits used and credits saved by stopping.
If the user has multiple tests for the same page, offer to create a Page Object class. This costs ~20 credits upfront but saves ~10 credits per additional test on that page.
Flows Tested: N
Tests Generated: N
Tests Skipped: N (with reasons)
Credits Used: N
Credits Saved by Skipping: NCredit costs vary by Kiro account, model, and flow complexity. UI tests are the most expensive category because they generate more code (setup, waits, selectors, teardown) and fail more often (leading to retries that cost additional credits).
Run the built-in benchmark with a simple login flow:
python track_credits.py benchmark ui-simpleThis measures the cheapest possible UI test on your account (e.g., 0.21 credits/test).
lookups, teardown
More complex flows cost more:
| What makes UI tests cost more | How it's scored |
|---|---|
| More page interactions (clicks, fills) | +1 for every 3 steps |
| Dynamic elements (React state, conditional rendering) | +2 for each dynamic element |
| Multi-page navigation | +2 for each page transition |
| More waits needed | +1 for every 3 waits |
python track_credits.py estimate \
--type ui \
--source-lines 50 \
--branches 2 \
--dynamic-selectors 1 \
--tests 1# Note credit balance before and after, then record:
python track_credits.py add "LoginFlow-1test" <before> <after> "1 Selenium test, 4 selectors"Your measurements improve future estimates automatically. See ../../../skills-workshop/credit-estimation/CREDIT-ESTIMATION-GUIDE.md for the full guide.
references/examples/LoginFlowTest.java - Complete Selenium examplereferences/react-testid-guide.md - Guide for adding data-testid to React componentsassets/selectors-config.json - Example selector configuration../../../skills-workshop/credit-estimation/CREDIT-ESTIMATION-GUIDE.md - Credit measurement methodology~30 seconds. Free. No account. Every finding cites a rule and a line of evidence.