Django Selenium Functional Tests
SkillWeb & browsingDesign, debug, and maintain Django Selenium functional tests with live server setup, explicit waits, test isolation, page objects, screenshots, CI artifacts, and staging checks. Use when browser tests are flaky, too slow, duplicated, failing in CI, need a page pattern, or should verify a Django user journey end to end.
Use Django Selenium Functional Tests in Claude, ChatGPT or Ahel Desktop
Free. Sign in, add Django Selenium Functional Tests and connect your AI. About a minute.
Also: Claude Code · Cursor · Codex
Then ask your AI: use the Django Selenium Functional Tests skill
Details
Instructions available. Your AI can read the instructions. Execution depends on the setup they require.
Account requirements not reviewed. Check the skill instructions before use; Ahel provides instructions and does not run this skill.
No other account needed.
Add Ahel to your AI once: Claude, ChatGPT, Cursor, Claude Code or Codex. Then ask it to use this.
What this skill tells your AI
The instructions your AI receives, as published by hashgraph-online/awesome-codex-plugins in plugins/LVTD-LLC/skills/skills/django-selenium-functional-tests/SKILL.md and read by Ahel’s review.
Use Selenium functional tests sparingly and deliberately: they prove that Django, templates, static assets, JavaScript, persistence, and browser behavior work together. Keep them user-facing, isolated, and stable enough to inspire confidence.
Source Traceability
Primary source: Harry Percival, Test-Driven Development with Python, 3rd ed. Guidance is transformed and paraphrased from chapters 1, 2, 4, 6, 13, 22, 23, 25, 26, and Appendix A, especially explicit waits, functional test isolation, page pattern, screenshots, and CI debugging.
Workflow
-
State the user journey in comments or helper names.
- Keep test language at the user behavior level.
- Avoid asserting implementation details unless the browser contract requires them.
-
Use the right server boundary.
- Use
StaticLiveServerTestCasewhen static files matter. - Use a staging URL or Docker URL when verifying deployed/container behavior.
- Keep local and remote setup explicit.
- Use
-
Remove timing guesses.
- Prefer explicit waits for a visible condition, DOM change, URL, or text.
- Avoid
time.sleep()except as a temporary debugging probe that is removed.
-
Isolate state.
- Create per-test data through app APIs, fixtures, management commands, or direct setup helpers.
- Avoid tests depending on order, prior browser state, or shared accounts.
-
Factor repeated journeys.
- Start with helper methods.
- Move to a page pattern when selectors and workflows are repeated enough to obscure intent.
Read selenium-patterns.md for wait helpers, page pattern guidance, and CI debugging tactics.
Debugging Order
- Reproduce locally with the same browser/headless setting when possible.
- Capture the current URL, page source, browser logs, and screenshot.
- Decide whether the failure is timing, selector drift, server error, static asset issue, or data isolation.
- Add the smallest stable wait or assertion that matches the real condition.
- Run the single functional test, then the affected functional test file.
Guardrails
- Do not make Selenium prove every validation branch; faster Django tests should carry detail.
- Do not hide browser failures behind broad retry loops.
- Do not share mutable test accounts across parallel or CI runs.
- Do not assert brittle CSS layout unless layout is the behavior under test.
- Keep screenshots and artifacts for CI failures when they materially reduce diagnosis time.
Verification
Before finishing, confirm:
- The test names and helpers describe user behavior.
- All waits observe a real condition.
- The test can run alone.
- CI/headless-specific behavior is handled or documented.
- Focused command and result are recorded.
Signals
- GitHub stars
- 1k
- Forks
- 316
- Last commit
- Oct 2026
Advanced
- Item type
- skill
- Key
django-selenium-functional-tests- Source
- github.com/hashgraph-online/awesome-codex-plugins
github.com/hashgraph-online/awesome-codex-plugins
Related picks
Skill · thedaviddias
The pick for JavaScriptmodern-javascript-patterns
Skill · wshobson
The pick for JavaScriptpython-performance-optimization
Skill · wshobson
The pick for Pythonpython-pro
Skill · jeffallan
The pick for Pythondjango-targeted-mocking
Skill · hashgraph-online
The pick for Djangointegration-django
Skill · posthog
The pick for Django