@kirankanumuri/idip-framework
v1.0.10
Published
Intent Driven Interaction Pattern (IDIP) – A business-centric automation architecture for enterprise testing.
Maintainers
Readme
IDIP -- Intent Driven Interaction Pattern
Overview
IDIP (Intent Driven Interaction Pattern) is an enterprise-oriented automation architecture designed to decouple test logic from UI structure and execution channels.
Traditional automation frameworks rely heavily on Page Object Model (POM) or BDD step definitions. While these approaches help organize tests, they often struggle to scale in large enterprise environments where business workflows span multiple pages and channels.
IDIP introduces a business-intent-driven execution model, where tests describe what business action should happen, and the framework dynamically determines how it should be executed.
Installation
Install the framework from npm:
npm install @contactkkiran/idip-framework
Peer dependency:
npm install @playwright/test
Basic Usage
Example test using IDIP:
import { IntentEngine } from "@contactkkiran/idip-framework"
const engine = new IntentEngine()
await engine.perform("Authenticate") await engine.perform("CreateEmployee") await engine.perform("ApproveLeave")
The test remains independent of UI or API implementation.
Problem Statement
Large-scale enterprise automation frameworks often face challenges such as:
- Tight coupling between tests and UI structure
- Regression failures due to frequent UI changes
- Difficulty switching between UI and API execution
- BDD step definition duplication
- Complex debugging due to multiple abstraction layers
- Limited visibility of business workflows in automation
These issues become more pronounced as applications grow in complexity.
The IDIP Approach
IDIP shifts automation architecture from page-centric design to business-intent orchestration.
Instead of writing tests around UI pages:
await loginPage.login()
await employeePage.createEmployee()
await leavePage.approveLeave()Tests describe business actions:
await engine.perform("Authenticate")
await engine.perform("CreateEmployee")
await engine.perform("ApproveLeave")The Intent Engine determines which execution strategy should handle the request.
Architecture – Intent Driven Execution Model
Test Layer
│
▼
Intent Engine
│
▼
Strategy Resolver
┌──────────────┐
│ │
▼ ▼
UI Strategy API Strategy
│ │
▼ ▼
Playwright REST APIsExample Workflow
await engine.perform("Authenticate")
await engine.perform("CreateEmployee")
await engine.perform("ApproveLeave")
## Key Components
### Intent Engine
The central orchestration layer responsible for executing business
intents.
### Execution Context
Defines runtime parameters such as:
- Execution channel (UI / API)
- Environment
- User role
### Interaction Strategy
Strategy pattern implementation that determines how a business intent is
executed.
Example strategies:
- UIAuthenticateStrategy
- APIAuthenticateStrategy
### State Machine
Ensures business workflows follow valid transitions.
Example:
LoggedOut → Authenticate → LoggedIn
### Risk Engine
Evaluates risk factors to enable intelligent test execution in CI/CD
pipelines.
------------------------------------------------------------------------
## Example Test
await engine.perform("Authenticate", credentials)
await engine.perform("CreateEmployee", employeeData)
await engine.perform("ApproveLeave", leaveData)
The test remains unchanged regardless of execution channel.
------------------------------------------------------------------------
## Benefits
### Business-Level Automation
Tests represent business workflows rather than UI interactions.
### Multi-Channel Execution
Supports UI, API, or future channels without modifying tests.
### Reduced UI Coupling
UI changes impact strategies instead of test logic.
### Scalable Architecture
Supports large enterprise systems with complex workflows.
### CI/CD Optimization
Risk-based execution enables smarter regression pipelines.
------------------------------------------------------------------------
## Technology Stack
This prototype implementation uses:
- Playwright
- TypeScript
- Strategy Pattern
- Intent-based orchestration
------------------------------------------------------------------------
## Language and Tool Independence
IDIP is an **architectural pattern**, not a tool-specific framework.
Although this prototype is implemented using **Playwright and
TypeScript**, the Intent Driven Interaction Pattern can be implemented
in any programming language or automation ecosystem.
The pattern relies on common architectural concepts such as:
- Strategy Pattern
- Command-style intent execution
- Context-driven resolution
- Business workflow abstraction
Because of this, IDIP can be adopted in environments using:
- Java + Selenium
- Python + Playwright
- C# + Selenium
- JavaScript / TypeScript automation frameworks
- API testing frameworks
- Mobile automation platforms
Example (Java style):
engine.perform("Authenticate");
engine.perform("CreateEmployee");
engine.perform("ApproveLeave");
Example (Python style):
engine.perform("Authenticate")
engine.perform("CreateEmployee")
engine.perform("ApproveLeave")
The **core idea remains the same**:
Tests describe **business intent**, while execution strategies determine
**how the action is performed**.
This separation allows the architecture to remain stable even when:
- UI frameworks change
- execution channels shift from UI to API
- underlying automation tools evolve
------------------------------------------------------------------------
## Comparison with Traditional Patterns
Capability POM BDD IDIP
------------------------------- -------- --------- ------
UI abstraction ✓ Partial ✓
Business workflow abstraction ✗ ✓ ✓
Multi-channel execution ✗ ✗ ✓
Regression scalability Medium Medium High
Execution intelligence ✗ ✗ ✓
------------------------------------------------------------------------
## When to Use IDIP
IDIP is particularly useful when:
- Enterprise systems have complex workflows
- Tests need to support multiple execution channels (UI + API)
- UI changes frequently impact regression suites
- Automation needs stronger alignment with business behavior
- CI/CD pipelines require smarter execution strategies
------------------------------------------------------------------------
## Future Enhancements
Possible future improvements include:
- Strategy auto-discovery
- Execution telemetry
- AI-assisted test intent generation
- CI/CD risk analytics
- Microservice orchestration support
------------------------------------------------------------------------
## Author
Framework concept and prototype developed to explore scalable enterprise
automation architecture.
------------------------------------------------------------------------
## License
MIT License