How liwanlei/fxtest works
FXTest is a Flask-based interface-test management and execution platform. Users manage projects, interfaces, environments, cases, and schedules through web views; a run request reaches the test runner, which calls APIs, checks responses (and optionally database state), and records results. The repository also documents Mock, report notifications, and JMeter-based load testing. Some documented subsystems are represented from README claims because their implementation was not sampled; duplicate top-level and app/ trees make their active wiring uncertain.
Main entry points: new_unittest_case.py Test case engine · models Domain records · views.py Interface management · __init__.py Flask app
Components 26
Web management
- Flask app
app/__init__.py - Home and projects
app/home/views.py - Resource administration
app/home/resource_views - Interface management
app/Interface/views.py - Case management
app/case/views.py - Scheduled tasks
app/task/views.py - User management
app/users/views.py - Forms and validation
app/forms.py
Test domain
- Domain records
app/models - Case operations
app/case/case_operations
Execution runtime
- Test case engine
app/test_case/new_unittest_case.py - Suite runner
common/bs_test_runner.py - API client
common/api_client.py - Assertions
common/assertions.py - Response utilities
common/dict_utils.py
Integrations and state
- Database checks
common/mysql_client.py - Redis state
common/redis_client.py - Scheduler configuration
config.py - Mock service
common/mock_server.py - Reports and notifications
common/html_test_report.py - Excel import/export
common/excel_parser.py - Excel generation
common/excel_utils.py - JMeter generation
common/jmx_builder.py - Remote execution
common/ssh_tools.py - SQL database
Other components
- Platform user
Connections 29
- Platform user → Flask app: uses
README.md - Flask app → Home and projects: registers
app/__init__.py - Flask app → Domain records: initializes
app/__init__.py - Home and projects → Domain records: queries
app/home/views.py - Home and projects → Redis state: reads
app/home/views.py - Platform user → Interface management: manages APIs
README.md - Interface management → Domain records: uses
app/Interface/views.py - Interface management → Excel import/export: imports
app/Interface/views.py - Interface management → Excel generation: exports
app/Interface/views.py - Platform user → Case management: creates and runs
README.md - Case management → Domain records: uses
app/case/views.py - Case management → Case operations: delegates
- Platform user → Scheduled tasks: schedules runs
README.md - Scheduled tasks → Test case engine: invokes
app/task/views.py - Scheduled tasks → Suite runner: runs suites
app/task/views.py - Test case engine → API client: sends requests
app/test_case/new_unittest_case.py - Test case engine → Assertions: checks results
app/test_case/new_unittest_case.py - Test case engine → Response utilities: extracts fields
app/test_case/new_unittest_case.py - Test case engine → Database checks: queries database
app/test_case/new_unittest_case.py - Test case engine → Redis state: stores results
app/test_case/new_unittest_case.py - API client → SQL database: HTTP requests
common/api_client.py - Scheduler configuration → Redis state: persists jobs
config.py - Platform user → Mock service: configures mocks
README.md - Platform user → Reports and notifications: receives reports
README.md - Platform user → JMeter generation: converts cases
README.md - JMeter generation → Remote execution: remote execution
- Platform user → User management: manages access
README.md - User management → Domain records: uses
app/users/views.py - Forms and validation → Domain records: validates fields
app/forms.py