From jmchilton
Run Galaxy Playwright E2E tests. Works from Galaxy root or `packages/test_selenium`.
npx claudepluginhub jmchilton/claude-jmchilton-plugins --plugin jmchiltonThis skill uses the workspace's default tool permissions.
Run Galaxy Playwright E2E tests. Works from Galaxy root or `packages/test_selenium`.
Guides Next.js Cache Components and Partial Prerendering (PPR) with cacheComponents enabled. Implements 'use cache', cacheLife(), cacheTag(), revalidateTag(), static/dynamic optimization, and cache debugging.
Migrates code, prompts, and API calls from Claude Sonnet 4.0/4.5 or Opus 4.1 to Opus 4.5, updating model strings on Anthropic, AWS, GCP, Azure platforms.
Analyzes BMad project state from catalog CSV, configs, artifacts, and query to recommend next skills or answer questions. Useful for help requests, 'what next', or starting BMad.
Run Galaxy Playwright E2E tests. Works from Galaxy root or packages/test_selenium.
/galaxy-playwright [test_path]
Examples:
/galaxy-playwright - show status of Galaxy server and dev server/galaxy-playwright test_login.py - run all login tests/galaxy-playwright test_workflow_editor.py::TestWorkflowEditor::test_data_input - run specific testDetect mode based on current working directory:
packages/test_selenium (has pyproject.toml with galaxy-test-selenium)run.sh, lib/galaxy_test/)Before running tests, verify:
.venv/
/galaxy-bootstrap skill to set it upPlaywright installed
source .venv/bin/activate && playwright --versionsource .venv/bin/activate && playwright installuv run playwright --versionuv run playwright installConfig file exists at ~/galaxy_selenium_context.yml
test -f ~/galaxy_selenium_context.yml && echo "EXISTS" || echo "MISSING"cp lib/galaxy_test/selenium/jupyter/galaxy_selenium_context.yml.sample ~/galaxy_selenium_context.yml
echo "Created ~/galaxy_selenium_context.yml - please edit with your credentials"
cp galaxy_test/selenium/jupyter/galaxy_selenium_context.yml.sample ~/galaxy_selenium_context.yml
echo "Created ~/galaxy_selenium_context.yml - please edit with your credentials"
Galaxy running on port 8080
lsof -i :8080 | grep LISTEN or curl -s http://localhost:8080/api/versionNO_PROXY=* GALAXY_SKIP_CLIENT_BUILD=1 GALAXY_RUN_WITH_TEST_TOOLS=1 sh run.sh --skip-wheels &
Vite dev server running on port 5173 (optional but recommended for client changes)
lsof -i :5173 | grep LISTENmake client-dev-server & (from Galaxy root)Tests are located in lib/galaxy_test/selenium/.
source .venv/bin/activate
GALAXY_TEST_FILE_DIR=$(pwd)/test-data \
GALAXY_TEST_DRIVER_BACKEND=playwright \
GALAXY_TEST_TIMEOUT_MULTIPLIER=2 \
GALAXY_TEST_SELENIUM_HEADLESS=0 \
GALAXY_TEST_END_TO_END_CONFIG=~/galaxy_selenium_context.yml \
pytest lib/galaxy_test/selenium/$ARGUMENTS -v \
-W ignore::DeprecationWarning \
-W ignore::PendingDeprecationWarning \
--tb=short
Tests are located in galaxy_test/selenium/.
GALAXY_TEST_FILE_DIR=$(cd ../.. && pwd)/test-data \
GALAXY_TEST_DRIVER_BACKEND=playwright \
GALAXY_TEST_TIMEOUT_MULTIPLIER=2 \
GALAXY_TEST_SELENIUM_HEADLESS=0 \
GALAXY_TEST_END_TO_END_CONFIG=~/galaxy_selenium_context.yml \
uv run pytest galaxy_test/selenium/$ARGUMENTS -v \
-W ignore::DeprecationWarning \
-W ignore::PendingDeprecationWarning \
--tb=short
| Variable | Value | Purpose |
|---|---|---|
GALAXY_TEST_FILE_DIR | Galaxy root | Base dir for test files |
GALAXY_TEST_DRIVER_BACKEND | playwright | Use Playwright instead of Selenium |
GALAXY_TEST_TIMEOUT_MULTIPLIER | 2 | Increase timeouts for slower machines |
GALAXY_TEST_SELENIUM_HEADLESS | 0 | Show browser (1=headless) |
GALAXY_TEST_END_TO_END_CONFIG | ~/galaxy_selenium_context.yml | Config with login creds |
GALAXY_TEST_EXTERNAL | http://localhost:8080/ | Target Galaxy URL (set if using dev server on different port) |
The config file ~/galaxy_selenium_context.yml should contain:
local_galaxy_url: http://localhost:8080
login_email: test_user@example.com
login_password: mycoolpassw0rd
# admin_api_key: your_api_key # for admin tests
.venv exists, if not run /galaxy-bootstrap~/galaxy_selenium_context.yml exists, if not create from sample and warn user| File | Tests |
|---|---|
test_login.py | Login/logout, registration |
test_workflow_editor.py | Workflow editor UI |
test_workflow_run.py | Running workflows |
test_uploads.py | File uploads |
test_history_panel.py | History panel interactions |
test_tool_form.py | Tool form interactions |