Introduction: How Cognizant Automation Interviews Evaluate Candidates
Automation testing interviews at Cognizant are structured to assess practical automation skills, framework knowledge, and real project exposure. Cognizant serves global enterprise clients across multiple industries, so interviewers focus on candidates who can apply automation concepts effectively in real-world delivery environments rather than simply explaining tools and definitions.
A successful automation tester at Cognizant is expected to demonstrate technical expertise, problem-solving ability, framework understanding, and the capability to contribute to quality engineering initiatives throughout the software development lifecycle.
What Cognizant Evaluates in Automation Testing Interviews
During a typical Cognizant automation testing interview, candidates are evaluated across several key areas.
Strong Automation Fundamentals
Interviewers assess your understanding of:
- Automation testing concepts
- Benefits of automation
- Automation lifecycle
- Shift-left testing concepts
Candidates should be able to explain not only what automation testing is but also where and when it should be implemented.
Hands-On Experience with Selenium and Java/Python
Practical experience is one of the most important evaluation criteria.
Candidates should have experience with:
- Selenium WebDriver
- Element locators
- Test execution and reporting
Interviewers often ask candidates to explain how they automated specific business workflows in previous projects.
Understanding of Automation Frameworks
Framework knowledge is frequently discussed during interviews.
Common framework topics include:
- Page Object Model (POM)
- Data-Driven Framework
- Hybrid Framework
- Keyword-Driven Framework
Candidates should be prepared to explain framework architecture, reusable components, utility classes, and reporting mechanisms.
Ability to Handle Real-Time Project Challenges
Scenario-based questions are commonly used to evaluate practical experience.
Examples include:
- Dynamic web elements
- Synchronization issues
- Jenkins failures
- Browser compatibility challenges
- Parallel execution problems
Interviewers typically expect candidates to discuss actual project experiences rather than theoretical solutions.
Awareness of CI/CD and DevOps Practices
While deep DevOps expertise may not always be required, candidates should understand how automation integrates into modern delivery pipelines.
Important topics include:
- Git version control
- Maven build management
- Continuous Integration (CI)
- Continuous Delivery (CD)
Candidates should understand how automation testing supports rapid and reliable software releases.
Why Cognizant Focuses on Practical Automation Skills
Cognizant works on large-scale enterprise applications where quality, reliability, and delivery speed are critical.
As a result, interviewers look for professionals who can:
- Build maintainable automation solutions
- Write reusable automation code
- Troubleshoot execution failures
- Improve automation coverage
- Support CI/CD initiatives
- Collaborate effectively with development teams
Practical problem-solving skills are often valued more than memorized definitions.
What to Expect in a Cognizant Automation Testing Interview
The interview process generally consists of multiple technical discussions focused on automation engineering.
Technical Questions
Candidates can expect questions related to:
- Selenium WebDriver
- TestNG
- API Testing concepts
Coding Questions
Basic to intermediate coding questions are common.
Typical topics include:
- Strings
- Arrays
- Collections
- Loops
- Object-Oriented Programming (OOP)
The objective is to evaluate coding fundamentals rather than advanced algorithms.
Framework Discussions
Interviewers often ask candidates to explain:
- Current framework architecture
- Design patterns used
- Reporting implementation
- Test data management
- Parallel execution strategies
Candidates should be able to explain why certain design decisions were made.
Scenario-Based Questions
Real-world scenarios are used to evaluate troubleshooting and analytical skills.
Examples include:
- Tests passing locally but failing in Jenkins
- Dynamic element handling
- Automation suite optimization
- Test data conflicts
- Browser compatibility issues
Strong candidates explain both the problem and the reasoning behind their solution.
Skills That Help You Succeed in Cognizant Automation Interviews
The following skills significantly improve interview performance.
Technical Skills
- Selenium WebDriver
- Java or Python
- TestNG
- Maven
- Git
- Jenkins
Framework Skills
- Page Object Model
- Hybrid Framework Design
- Data-Driven Testing
- Utility Development
- Reporting Frameworks
Problem-Solving Skills
- Synchronization strategies
- Framework optimization
Communication Skills
Interviewers appreciate candidates who can:
- Explain concepts clearly
- Describe project experience confidently
- Discuss challenges and solutions
- Communicate technical decisions effectively
About This Guide
This article is a complete, interviewer-tested guide for Cognizant interview questions for automation testing, covering:
- 100+ interview questions and answers
- Selenium concepts
- Java and Python automation topics
- Scenario-based discussions
- Real-time automation challenges
- CI/CD concepts
- Code snippets and examples
- Best practices and interview tips
All topics are explained in a simple, beginner-friendly yet professional tone, making this guide suitable for both freshers and experienced automation testers preparing for Cognizant automation testing interviews.
What is Automation Testing? (Simple Definition + Example)
Automation Testing is the process of validating software functionality using automated scripts instead of manual effort.
Automation helps organizations execute test cases repeatedly with minimal human intervention, ensuring faster feedback, improved accuracy, and better test coverage.
Simple Example
Manual Testing
A tester performs the following actions manually:
- Open browser
- Login
- Validate dashboard
Automation Testing
An automated script performs the same steps:
- Script performs same steps
- Runs repeatedly
- Saves time and effort
Because the script can execute the same test multiple times without manual involvement, automation significantly improves efficiency and consistency.
Where is Automation Testing Most Useful?
Automation testing is ideal for the following scenarios:
- Smoke testing
- Sanity testing
- Large enterprise projects (like Deloitte client engagements)
In large-scale projects, automation helps teams execute thousands of test cases quickly while maintaining software quality across frequent releases.
Core Concepts Cognizant Interviewers Expect You to Know
Automation Test Pyramid
The Automation Test Pyramid is a testing strategy that helps teams build a balanced and maintainable automation suite. It focuses on maximizing fast and reliable tests while minimizing expensive and fragile UI tests.
| Level | Purpose |
| Unit Tests | Developer-level validation |
| API Tests | Business logic testing |
| UI Tests | End-to-end user flows |
Cognizant Recommendation
Cognizant prefers balanced automation rather than UI-only automation.
A well-designed automation strategy should include:
- Extensive Unit Test coverage
- Strong API Test coverage
- Stable UI Test coverage
- Faster feedback loops
- Reduced maintenance effort
Why Balanced Automation Matters
UI tests are generally:
- Slower to execute
- More expensive to maintain
- More prone to failures
Unit and API tests provide quicker and more reliable feedback, making them critical for enterprise automation strategies.
Types of Automation Frameworks
Automation frameworks provide structure, reusability, scalability, and maintainability for automation projects.
Linear Framework
A simple framework where test cases are written in a sequential manner.
Characteristics
- Easy to develop
- Suitable for small projects
- Difficult to scale
- High maintenance effort
Modular Framework
The application is divided into multiple modules.
Benefits
- Better organization
- Improved maintainability
- Increased code reusability
- Easier updates
Data-Driven Framework
Test data is separated from test scripts.
Common Data Sources
- Excel
- CSV
- JSON
- XML
- Database
Benefits
- Better coverage
- Reusable test logic
- Easy data management
Keyword-Driven Framework
Automation execution is controlled using predefined keywords.
Example Keywords
- Click
- EnterText
- VerifyText
- SelectDropdown
Benefits
- Reduced coding effort
- Easier maintenance
- Business-friendly execution
Hybrid Framework
A Hybrid Framework combines multiple framework approaches.
Common Components
- Page Object Model (POM)
- Data-Driven Testing
- Utility Classes
- Reporting Frameworks
Cognizant Perspective
Most Cognizant projects use Hybrid Frameworks because they offer:
- Scalability
- Flexibility
- Reusability
- Enterprise-level maintainability
BDD Framework (Cucumber)
Behavior Driven Development (BDD) frameworks use business-readable language.
Example
Feature: Login
Scenario: Valid Login
Given User opens application
When User enters valid credentials
Then User should see dashboard
Benefits
- Better collaboration
- Improved readability
- Business-friendly automation
Automation Design Patterns
Design patterns help create scalable and maintainable automation frameworks.
Page Object Model (POM)
Page Object Model is a design pattern where each web page is represented as a separate class containing page elements and actions.
Benefits
- Better maintainability
- Reusable code
- Cleaner test scripts
- Centralized locator management
Singleton / ThreadLocal WebDriver
Used for efficient WebDriver management.
Benefits
- Better resource utilization
- Driver isolation
- Support for parallel execution
Factory Pattern
Factory Pattern creates objects dynamically without exposing object creation logic.
Benefits
- Flexible object creation
- Easier maintenance
- Better scalability
Strategy Pattern
Strategy Pattern allows behavior selection at runtime.
Example
Different execution strategies:
- Chrome Execution
- Firefox Execution
- Edge Execution
Benefits
- Cleaner architecture
- Easier extensibility
- Improved flexibility
Cognizant Interview Questions for Automation Testing (100+ with Answers)
Automation Fundamentals
1. What Is Automation Testing?
Automation testing uses tools like Selenium to execute test cases automatically and validate application behavior without manual effort.
Benefits
- Faster execution
- Improved accuracy
- Better test coverage
- Reusable scripts
- Continuous testing support
2. Why Does Cognizant Focus Heavily on Automation Testing?
Answer
Automation helps Cognizant deliver:
- Faster releases
- Reduced regression effort
- Improved software quality
- Better reliability
- Enterprise-scale CI/CD support
Automation enables teams to accelerate software delivery while maintaining quality standards.
3. What Automation Tools Have You Worked With?
Common automation tools include:
- Selenium WebDriver
- TestNG
- Maven
- Git
- Jenkins
- Cucumber
- API Testing Tools
Together, these tools support the complete automation lifecycle.
4. What Is Selenium?
Selenium is an open-source automation tool used to automate web applications across multiple browsers.
Key Features
- Cross-browser support
- Multi-language support
- Open-source ecosystem
- Large community support
5. Which Programming Languages Does Selenium Support?
Selenium supports multiple programming languages, including:
- Java
- Python
- C#
- JavaScript
- Ruby
This flexibility allows teams to choose technologies based on project needs.
6. What Is Selenium WebDriver?
WebDriver directly interacts with browsers to simulate real user actions.
Common Actions
- Clicking buttons
- Entering text
- Selecting dropdown values
- Navigating between pages
WebDriver communicates with browser-specific drivers to perform these actions.
7. What Are Selenium Locators?
Locators are used to identify web elements on a webpage.
Common Locator Types
- ID
- Name
- ClassName
- XPath
- CSS Selector
- LinkText
Choosing reliable locators improves automation stability and maintainability.
8. HTML and Locator Example
HTML
<input id=”username” name=”user” class=”input-box” />
Using ID
driver.findElement(By.id(“username”));
Using Name
driver.findElement(By.name(“user”));
Using XPath
driver.findElement(By.xpath(“//input[@id=’username’]”));
Using CSS Selector
driver.findElement(By.cssSelector(“input.input-box”));
9. What Is XPath?
XPath is a language used to locate elements in XML and HTML documents.
Common Uses
- Dynamic element identification
- DOM navigation
- Parent-child relationships
- Complex element location
XPath is useful when unique IDs are unavailable.
10. Absolute XPath vs Relative XPath
| Absolute XPath | Relative XPath |
| Starts from root | Starts anywhere |
| Longer path | Shorter path |
| Fragile | More reliable |
| Difficult to maintain | Easier to maintain |
Recommendation
Relative XPath is generally preferred because it is more stable and easier to maintain.
11. What Is Page Object Model (POM)?
Page Object Model (POM) is a design pattern where each page is represented as a separate class containing:
- Locators
- Page actions
- Business methods
This improves framework structure and maintainability.
12. Advantages of POM
Benefits
- Better maintainability
- Reusable code
- Cleaner test scripts
- Centralized locators
- Improved readability
13. What Is TestNG?
TestNG is a testing framework that provides:
- Annotations
- Reporting
- Grouping
- Dependency management
- Parallel execution
It is widely used with Selenium-based automation frameworks.
14. Common TestNG Annotations
@Test
Defines a test method.
@BeforeMethod
Executes before every test method.
@AfterMethod
Executes after every test method.
@BeforeClass
Executes before class execution.
@AfterClass
Executes after class execution.
15. What Is Data-Driven Testing?
Data-Driven Testing executes the same test case using multiple datasets.
JSON Example
{
“username”: “admin”,
“password”: “secret”
}
Benefits
- Increased test coverage
- Reduced duplication
- Reusable test logic
16. What Is Maven Used For?
Maven is used for:
- Dependency management
- Build execution
- Project lifecycle management
- Test execution
Common Maven File
pom.xml
17. What Is Git and Why Is It Important?
Git is a version control system used to manage automation code.
Benefits
- Team collaboration
- Source code tracking
- Branch management
- Easy rollback support
18. What Is CI/CD?
CI/CD automates:
- Code integration
- Build execution
- Deployment processes
CI
Continuous Integration
CD
Continuous Delivery / Continuous Deployment
19. What Are Flaky Tests?
Flaky tests are tests that fail intermittently even though there are no changes in the application.
Common Causes
- Synchronization issues
- Dynamic elements
- Environment instability
- Poor locator strategies
- Test data conflicts
20. How Do You Handle Flaky Tests?
Best Practices
- Replace hard waits with explicit waits
- Improve locator strategy
- Stabilize test data
- Improve synchronization mechanisms
- Retry only as a last option
Reducing flaky tests increases automation reliability and confidence in test results.
Real-Time Scenario-Based Cognizant Automation Interview Questions (15) Scenario 1: Tests Pass Locally but Fail in Jenkins
Problem
Automation tests execute successfully on a local machine but fail during Jenkins execution.
Solution
- Check browser and driver version compatibility
- Validate environment variables
- Add explicit waits where necessary
- Verify Jenkins execution configuration
- Compare local and CI environments
- Analyze Jenkins logs for root causes
Interview Insight
Cognizant interviewers expect candidates to demonstrate systematic debugging rather than relying on assumptions.
Scenario 2: UI Change Breaks Multiple Tests
Problem
A small UI change causes multiple automation scripts to fail.
Solution
- Use the Page Object Model (POM)
- Centralize all locators
- Avoid brittle XPath expressions
- Create reusable page components
Benefits
- Easier maintenance
- Faster updates
- Reduced script modification effort
Scenario 3: Automation Suite Takes Too Long
Problem
Regression execution time becomes excessively long.
Solution
- Enable parallel execution
- Reduce UI-only coverage
- Shift setup and validations to the API layer
- Remove redundant test cases
- Optimize test execution strategy
Benefits
- Faster feedback
- Improved CI/CD efficiency
- Reduced execution cost
Scenario 4: CAPTCHA Blocks Automation
Problem
CAPTCHA prevents automation scripts from progressing.
Solution
- Disable CAPTCHA in the test environment
- Use backend authentication mechanisms
- Implement test-specific bypass logic
- Coordinate with development teams
Interview Insight
CAPTCHA should generally not be automated because its primary purpose is to prevent automated interactions.
Scenario 5: Parallel Execution Fails
Problem
Tests interfere with one another during parallel execution.
Solution
- Use ThreadLocal WebDriver
- Avoid static WebDriver variables
- Isolate test data
- Ensure test independence
- Prevent resource sharing
Benefits
- Stable parallel execution
- Better scalability
- Faster test runs
Scenario 6: Test Data Conflicts
Problem
Multiple tests modify the same data and cause failures.
Solution
- Isolate test accounts
- Use unique identifiers
- Reset data when required
- Create environment-specific datasets
Benefits
- Reduced failures
- Better reliability
- Improved parallel execution support
Scenario 7: Browser Compatibility Issues
Problem
Automation scripts behave differently across browsers.
Solution
- Use Selenium Grid
- Use cloud-based testing platforms
- Validate browser-specific behavior
Common Browsers
- Chrome
- Firefox
- Edge
- Safari
Interview Insight
Cross-browser testing remains a critical requirement for enterprise applications.
Scenario 8: Frequent Build Failures
Problem
Automation builds fail regularly in CI/CD pipelines.
Solution
- Improve assertion quality
- Analyze Jenkins logs
- Identify flaky tests
- Improve synchronization mechanisms
- Review recent code changes
Interview Insight
Strong candidates focus on identifying root causes rather than repeatedly rerunning failed builds.
Scenario 9: Junior Tester Struggles with Framework
Problem
New team members find the framework difficult to understand and maintain.
Solution
- Improve framework documentation
- Add reusable utility functions
- Establish coding standards
- Conduct framework walkthrough sessions
- Enforce code reviews
Benefits
- Faster onboarding
- Improved productivity
- Better framework consistency
Scenario 10: Client Demands Faster Releases
Problem
The client expects shorter release cycles without compromising quality.
Solution
- Add smoke tests to CI pipelines
- Optimize regression automation
- Increase API automation coverage
- Improve execution reliability
- Reduce overall execution time
Interview Insight
Automation engineers play an important role in enabling continuous delivery and faster releases.
Code Examples: Selenium + Java + Python + POM
Java Page Object Model Example
The following example demonstrates a simple Page Object Model implementation using Java.
public class LoginPage {
@FindBy(id = “username”)
WebElement username;
@FindBy(id = “password”)
WebElement password;
@FindBy(id = “loginBtn”)
WebElement loginBtn;
public void login(String user, String pass) {
username.sendKeys(user);
password.sendKeys(pass);
loginBtn.click();
}
}
Benefits
- Centralized locators
- Better maintainability
- Reusable page actions
- Cleaner test scripts
Python Selenium Example
A simple Selenium automation script using Python.
from selenium import webdriver
from selenium.webdriver.common.by import By
driver = webdriver.Chrome()
driver.get(“https://example.com”)
driver.find_element(By.ID, “username”).send_keys(“admin”)
driver.find_element(By.ID, “password”).send_keys(“secret”)
driver.find_element(By.ID, “loginBtn”).click()
Workflow
- Launch browser
- Open application
- Enter credentials
- Perform login
TestNG XML Example (Parallel Execution)
Parallel execution helps reduce automation execution time.
<suite parallel=”tests” thread-count=”3″>
<test name=”RegressionSuite”>
<classes>
<class name=”tests.LoginTest”/>
</classes>
</test>
</suite>
Benefits
- Faster execution
- Better resource utilization
- Improved CI/CD efficiency
Cucumber Feature File Example
BDD frameworks use business-readable language.
Feature: Login
Scenario: Valid Login
Given user is on login page
When user enters valid credentials
Then dashboard should be displayed
Benefits
- Better collaboration
- Easy readability
- Improved communication between business and technical teams
Typical Cognizant CI/CD Flow
A typical automation execution workflow in Cognizant projects follows these steps:
- Code committed to Git
- Jenkins pipeline triggered
- Build executed
- Automation tests run
- Notifications sent
Workflow Diagram
Code Commit
↓
Git Repository
↓
Jenkins Pipeline
↓
Build Execution
↓
Automation Testing
↓
Report Generation
↓
Notifications
Common Cognizant Automation Interview Mistakes
Many candidates lose opportunities because of avoidable mistakes.
1. Giving Only Theoretical Answers
Problem
Candidates explain concepts but fail to demonstrate practical experience.
Better Approach
Discuss:
- Real projects
- Challenges faced
- Solutions implemented
- Outcomes achieved
2. No Real Client-Project Examples
Problem
Candidates talk about tools but cannot explain how they were used in actual projects.
Better Approach
Explain:
- Framework architecture
- Automation strategy
- CI/CD integration
- Problem-solving experience
3. Overusing Thread.sleep()
Problem
Hard waits make automation slower and less reliable.
Better Approach
Use:
- Explicit waits
- ExpectedConditions
- Dynamic synchronization techniques
4. Weak Framework Explanation
Problem
Candidates use frameworks daily but cannot explain their structure.
Better Approach
Be prepared to discuss:
- Framework architecture
- Design patterns
- Utility classes
- Reporting mechanisms
- Test data management
How to Answer Like a Pro
Interviewers often value practical experience more than memorized definitions.
Answer with Project Context
Whenever possible, explain:
- Project background
- Business requirements
- Automation approach
- Results achieved
Explain Problems and Solutions
Discuss:
- Challenges encountered
- Root causes identified
- Solutions implemented
- Lessons learned
This demonstrates real-world experience.
Focus on Maintainability and Scalability
Highlight concepts such as:
- Reusability
- Framework design
- Clean code
- Automation stability
- Long-term maintenance
Be Honest About Your Contribution
Clearly explain:
- Your responsibilities
- Your role in the project
- Framework contributions
- Challenges you personally solved
Avoid claiming ownership of work you did not perform.
Quick Revision Sheet (Last-Minute Preparation)
Before attending a Cognizant automation testing interview, revise the following topics thoroughly.
Selenium WebDriver Fundamentals
- Browser drivers
- WebDriver commands
- Wait mechanisms
Locator Strategies and XPath
- ID
- Name
- CSS Selector
- XPath
- Dynamic element handling
Page Object Model (POM)
- Page classes
- Reusable methods
- Centralized locators
- Framework organization
Data-Driven Testing
- JSON
- Excel
- CSV
- Parameterized execution
CI/CD Basics
- Git
- Maven
- Jenkins
- Automated execution pipelines
Flaky Test Handling
- Explicit waits
- Reliable locators
- Stable test data
- Synchronization improvements
FAQs (Featured Snippet Optimized)
Q1. What are common Cognizant interview questions for automation testing?
Cognizant automation testing interviews typically focus on practical automation skills, framework understanding, coding fundamentals, and real-world project experience. Interviewers generally evaluate whether candidates can apply automation concepts in enterprise environments rather than simply explain theoretical concepts.
Common Topics Covered
Selenium WebDriver
- What is Selenium WebDriver?
- What are different locator strategies?
- Difference between XPath and CSS Selector
- How do you handle dynamic web elements?
- What are implicit and explicit waits?
Automation Frameworks
- What is Page Object Model (POM)?
- Explain your automation framework architecture.
- What is a Hybrid Framework?
- How do you maintain automation frameworks?
- What design patterns have you used?
TestNG and Cucumber
- TestNG annotations
- Parallel execution
- Grouping and dependencies
- Data-driven testing
Real-Time Automation Scenarios
- Tests pass locally but fail in Jenkins
- Handling flaky tests
- Dynamic element challenges
- Test data conflicts
- Browser compatibility issues
CI/CD and DevOps
- What is Jenkins?
- What is Maven?
- How does Git support automation?
- What is Continuous Integration?
- How do automation tests fit into CI/CD pipelines?
Interview Focus
Cognizant interviewers commonly assess:
- Selenium fundamentals
- Framework knowledge
- Coding skills
- Automation best practices
- Problem-solving ability
- Real project exposure
Candidates who can explain both concepts and practical implementation usually perform better during interviews.
Q2. Does Cognizant ask coding questions for automation testing?
Yes. Coding questions are a regular part of Cognizant automation testing interviews. The focus is typically on practical programming skills that help build and maintain automation frameworks.
Why Coding Matters
Automation engineers are expected to:
- Build framework utilities
- Handle test data dynamically
- Debug automation failures
- Improve framework maintainability
Common Coding Topics
Java or Python Basics
- Variables
- Loops
- Arrays
- Conditional statements
- Functions
Object-Oriented Programming (OOP)
- Encapsulation
- Inheritance
- Polymorphism
- Abstraction
Collections
Common questions involve:
- ArrayList
- HashMap
- List
- Set
String-Based Programs
Examples include:
- Reverse a string
- Count characters
- Find duplicate characters
- Check palindrome
Exception Handling
Interviewers may ask:
- Difference between checked and unchecked exceptions
- Try-catch-finally blocks
- Exception handling in automation frameworks
Selenium Coding Questions
Candidates may be asked to:
- Locate elements using XPath
- Switch windows
- Implement waits
What Cognizant Expects
For most automation roles, Cognizant expects candidates to:
- Understand coding fundamentals
- Write clean and readable code
- Explain automation logic
- Solve practical coding problems
The focus is generally on automation-related coding rather than complex algorithmic programming.
Q3. Is Selenium enough for Cognizant automation roles?
Selenium is a core requirement for most Cognizant automation testing positions, but Selenium alone is usually not sufficient.
Skills Expected Alongside Selenium
Automation Framework Knowledge
Candidates should understand:
- Page Object Model (POM)
- Hybrid Frameworks
- Data-Driven Testing
- BDD Frameworks
Programming Skills
Knowledge of:
- Java or Python
- OOP concepts
- Collections
- Exception handling
- Utility development
is highly valuable.
CI/CD Basics
Interviewers often expect familiarity with:
- Git
- Maven
- Jenkins
- Automated execution pipelines
API Testing Knowledge
Many enterprise applications rely heavily on APIs.
Basic understanding of:
- Request and response validation
- API automation concepts
is increasingly important.
Real-World Problem Solving
Candidates should be able to explain:
- How they handled flaky tests
- How they improved framework stability
- How they optimized execution time
- How they resolved automation failures
Recommended Skill Stack for Cognizant Automation Engineers
- Selenium WebDriver
- Java or Python
- TestNG
- Maven
- Git
- Jenkins
- API Testing
- Cucumber
- Page Object Model
Framework Design Concepts

