QA Interview Handbook
  • ๐Ÿ Home Page
  • About Testing
    • ๐Ÿ’–Qualities of A Great Tester
  • Manual Testing
    • ๐Ÿ’กOverview
      • โœ‹Demand for Software Testing
      • ๐Ÿ˜„Tester's Role in Manual Testing
      • 7๏ธTesting Principles
      • ๐ŸšจV & V
      • โ”Interview Questions
    • โ™ป๏ธSDLC
      • ๐Ÿ“’Phase 1: Planning
      • ๐Ÿ”Phase 2: Requirement Analysis
      • ๐Ÿ‘”Phase 3: Design
      • โ›‘๏ธPhase 4: Development
      • ๐ŸงชPhase 5: Testing
      • ๐ŸššPhase 6: Deployment
      • ๐Ÿ–ฑ๏ธPhase 7: Maintenance
      • โš”๏ธCommon Challenges
      • โ”Interview Questions
    • ๐ŸŒ€STLC
    • ๐ŸŒŠWaterfall
    • โœณ๏ธAgile
      • ๐Ÿ˜Tester's Role in Scrum
    • ๐Ÿ”ขTypes
      • โฌœWhite Box Testing
      • โฌ›Black Box Testing
        • ๐Ÿ”ฐTechniques Used in Black Box Testing
        • ๐Ÿš˜Functional Testing
          • 1๏ธโƒฃUnit Testing
          • 2๏ธโƒฃIntegration Testing
            • ๐Ÿ”ฐTechniques Used in Integration Testing
          • 3๏ธโƒฃSystem Testing
            • ๐Ÿ“ผTypes of System Testing
            • ๐ŸŒŠPhases of System Testing
            • ๐ŸŒ€Regression Testing
            • ๐ŸŒซ๏ธSmoke Testing
          • 4๏ธโƒฃAcceptance Testing
            • โš™๏ธUser Acceptance Testing
            • ๐Ÿ…ฐ๏ธAlpha Testing
            • ๐Ÿ…ฑ๏ธBeta Testing
        • ๐Ÿ•ณ๏ธNon Functional Testing
      • ๐Ÿ“‘Grey Box Testing
    • ๐Ÿช„User Story
      • โบ๏ธSample User Stories
    • ๐Ÿ““Test Cases
      • โบ๏ธSample Test Cases
      • โ”Interview Questions
    • โœ–๏ธDefect Life Cycle
      • โ˜ฃ๏ธPriority + Severity
      • โบ๏ธSample Defect Reports
      • โ”Interview Questions
      • ๐Ÿ›Buggy Questions
    • ๐ŸŒAtlassian JIRA
      • ๐ŸžJIRA Issues
      • โ”Interview Questions
    • โ”Interview Questions
  • Accessibility Testing
    • ๐Ÿ’กOverview
    • ๐Ÿค“Tester's Role in Accessibility Testing
    • ๐Ÿ“šWCAG Principles
      • ๐Ÿ‘๏ธPerceivable
      • ๐ŸนOperable
      • ๐Ÿง Understandable
      • ๐Ÿค–Robust
    • ๐Ÿ”งAxe DevTools
      • โ”Interview Questions
    • ๐Ÿ““Test Cases
    • โ”Interview Questions
  • API Testing
    • ๐Ÿ’กOverview
    • ๐Ÿ˜€Tester's Role in API Testing
    • ๐ŸŠHTTP Methods & CRUD
      • ๐Ÿ‚HTTP Status Codes
    • ๐ŸAPI Tools
      • ๐ŸŸ Postman
        • โ˜„๏ธSending your first API request
        • ๐Ÿ”ฌHTTP Requests with Java
        • ๐ŸŽฒGitHub Sample
        • โ”Interview Questions
      • โ›‘๏ธREST Assured
        • ๐ŸŽ‡Dependency
        • โ”Interview Questions
    • ๐Ÿ““Test Cases
    • ๐ŸฆงAPI Cheatsheet
    • โ”Interview Questions
  • Database Testing
    • ๐Ÿ’กOverview
    • ๐Ÿ˜†Tester's Role in Database Testing
    • ๐Ÿ”ตSQL
      • โ›“๏ธConstraints
      • ๐Ÿ›ข๏ธReferencing a Column
      • ๐Ÿ”ผDDL Commands
      • ๐Ÿ”ผDML Commands
        • ๐Ÿ–Œ๏ธOperators
        • ๐Ÿ› ๏ธFunctions
          • โฏ๏ธAggregate Functions
        • ๐ŸŽ…Clauses
          • โซJoin Clauses
          • ๐Ÿ”ตFilter Clauses
          • โฌSet Operations
      • ๐ŸƒWildcard Character
      • โ”Interview Questions
    • ๐Ÿ““Test Cases
    • ๐ŸงคSQL Practice Sites
    • ๐ŸซSQL Cheatsheet
    • โ”Interview Questions
  • Java
    • โ›ฉ๏ธIntroduction
    • ๐Ÿ˜„Tester's Reason to Learn Java
    • โ“‚๏ธMain Method
      • โ”Interview Questions
    • ๐Ÿ“Variables & Types
      • ๐ŸชขSpecial Types
    • ๐ŸฅModifiers
    • ๐Ÿ…พ๏ธOperators
    • ๐ŸชกString
      • ๐ŸฉบString Methods
        • String Method Problems
      • ๐ŸšจDelimiter
      • โ”Interview Questions
    • ๐Ÿ–‡๏ธConditionals
      • ๐Ÿ’ŽCommon If Statements
      • ๐Ÿ’ŽCommon Ternary Operator Statements
    • โ“‚๏ธMath Class
    • ๐ŸŒŠLoops
      • ๐Ÿ’ŽCommon Loop Examples
      • ๐Ÿ”ƒNested For Loops
    • ๐ŸผOOPS
      • ๐Ÿ›๏ธClasses and Objects
        • โ”Interview Questions
      • ๐ŸŽƒConstructor
        • โšกStatic
          • โ”Interview Questions
        • ๐Ÿ“This() & Super()
          • โ”Interview Questions
        • ๐Ÿ€Finalization
      • ๐Ÿ”“Encapsulation
      • ๐ŸฅInheritance
      • ๐Ÿฆ‹Polymorphism
      • ๐Ÿ•ธ๏ธAbstraction
    • ๐ŸฎJava Practice Sites
    • โ˜‘๏ธData Structures + Algorithms
      • ๐Ÿ…พ๏ธBig O
      • โ˜‘๏ธData Structures
        • ๐Ÿ”ธArray
        • ๐Ÿ”ณArray Problems
        • Page
      • ๐ŸชŸSliding Window Technique
        • ๐ŸชŸSliding Window Problems
        • ๐ŸฅLeetCode #53
        • ๐ŸฅLeetCode #209
    • โ”Interview Questions
  • Automation Testing
    • ๐ŸšฐFlow
      • ๐Ÿ’กOverview
      • ๐ŸคฉTester's Role in Automation Testing
      • ๐Ÿ€Selenium
        • ๐Ÿ•ธ๏ธSelenium WebDriver
          • ๐Ÿ•ท๏ธWebDriver Commands
            • ๐ŸŒWebElement
              • ๐Ÿ”†HTML Tags
              • ๐Ÿ”ฌFind Element(s)
              • ๐ŸฆŽLocators
                • โŒXpath
                • ๐ŸฐCSS Selector
                • ๐Ÿ“€DOM
                • ๐Ÿ Quick Reference for XPath + CSS
            • โœ‹Waits
            • Browser Management
            • ๐ŸŽ๏ธNavigation
            • Alerts
          • ๐Ÿท๏ธAdvanced User Interactions
            • ๐Ÿ—ฏ๏ธAction vs. Actions
            • ๐Ÿ’งDrop Down
            • โœ…Check Box
            • ๐Ÿ–‡๏ธForms
          • โš ๏ธExceptions
        • ๐ŸOOPS + Selenium
        • ๐ŸšขFrameworks
          • โš“Module Based Framework
          • ๐ŸŽนKeyword Driven Framework
          • ๐ŸŽ‹Data Driven Framework
          • ๐ŸŒบHybrid Framework
          • ๐ŸŒดLog4j
          • ๐Ÿ“„Page Object Model
        • ๐ŸงชTesting Frameworks
          • ๐Ÿ’กTestNG
          • ๐Ÿ‰‘JUnit
          • ๐Ÿฅ’BDD
            • ๐Ÿฅ’Cucumber
        • ๐ŸŒ‰Selenium Grid
          • โœ–๏ธDesired Capabilities
        • โ”Interview Questions
      • ๐Ÿ”„API Testing with Selenium
      • โชDatabase Testing with Selenium
      • โ“‚๏ธMaven
      • ๐Ÿ™Git
        • โ”Interview Questions
      • ๐Ÿ•ต๏ธโ€โ™‚๏ธJenkins
        • โ”Interview Questions
      • ๐ŸณDocker
        • โ”Interview Questions
      • ๐Ÿ“™AWS
        • โ”Interview Questions
  • Behavioral
    • ๐Ÿ“ฃMixed Interview Questions
    • โญSTAR Method
      • ๐ŸŒŸSample Responses
Powered by GitBook
On this page

Was this helpful?

  1. Automation Testing
  2. Flow
  3. Selenium
  4. Frameworks

Keyword Driven Framework

๐Ÿ”Ž Understanding Keyword Driven Framework

A Keyword Driven Framework is a software testing framework that uses an external data source, such as an Excel file, to define keywords and actions that are used in the test script. The framework is designed to separate the test script from the test data and the actions that are performed during the test. This separation allows for greater code reusability, reduced script maintenance, and higher portability[1][2][4].

The Keyword Driven Framework has four main components:

  • Test data: The input data that is used to drive the test cases.

  • Test script: The code that is executed to perform the test cases.

  • Keyword repository: The external data source that defines the keywords and actions used in the test script.

  • Test execution engine: The software that executes the test script and manages the test data[2][4].

๐Ÿ‘จโ€๐Ÿ’ป Example Java Block for CNBC

Here's an example Java block for a Keyword Driven Framework that automates the end-to-end flow of the CNBC website:

import java.util.concurrent.TimeUnit;
import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.chrome.ChromeDriver;

public class CNBCKeywordDrivenFramework {
    public static WebDriver driver;

    public static void main(String[] args) {
        System.setProperty("webdriver.chrome.driver", "path/to/chromedriver");
        driver = new ChromeDriver();
        driver.manage().timeouts().implicitlyWait(10, TimeUnit.SECONDS);

        driver.get("https://www.cnbc.com/");
        driver.manage().window().maximize();

        // Login
        driver.findElement(By.linkText("Sign In")).click();
        driver.findElement(By.id("username-verification")).sendKeys("username");
        driver.findElement(By.id("password-verification")).sendKeys("password");
        driver.findElement(By.id("login-button")).click();

        // Search for a stock
        driver.findElement(By.id("header-search")).sendKeys("AAPL");
        driver.findElement(By.id("header-search-button")).click();

        // Logout
        driver.findElement(By.linkText("Sign Out")).click();

        driver.quit();
    }
}

This Java block automates the following actions:

  1. Open the CNBC website.

  2. Click on the "Sign In" link.

  3. Enter the username and password.

  4. Click on the "Login" button.

  5. Search for a stock.

  6. Click on the "Sign Out" link.

  7. Close the browser.

The keywords and actions used in this example are:

  • Open browser: driver.get("https://www.cnbc.com/");

  • Click: driver.findElement(By.linkText("Sign In")).click();

  • Enter text: driver.findElement(By.id("username-verification")).sendKeys("username");

  • Click button: driver.findElement(By.id("login-button")).click();

  • Enter search text: driver.findElement(By.id("header-search")).sendKeys("AAPL");

  • Click search button: driver.findElement(By.id("header-search-button")).click();

  • Click link: driver.findElement(By.linkText("Sign Out")).click();

  • Close browser: driver.quit();

The keywords and actions could be defined in an external Excel file, and the Java block could be modified to read the keywords and actions from the file.

Excel Sheets

In a Keyword Driven Framework, an Excel sheet is used to store keywords that represent the actions to be performed in the test script. The Excel sheet serves as a central repository for the keywords and their associated test data. Here's how the Excel sheet is typically used in a Keyword Driven Framework:

  1. Keyword Definition: The Excel sheet contains a column dedicated to defining the keywords. Each row represents a specific keyword that corresponds to a particular action or function in the test script. For example, keywords like "click", "type", "verify", etc., can be defined in the Excel sheet[2][4][6].

  2. Test Data: Alongside the keywords, the Excel sheet also includes columns for test data. Test data represents the input values or parameters required for executing the corresponding keyword action. The test data can be specific values, variables, or references to external data sources. These values are used by the test script to perform the actions defined by the keywords[2][4][6].

  3. Test Case Templates: The Excel sheet acts as a summary for the function library or function class. It becomes useful when creating test case templates. The user can refer to the Excel sheet to identify the available keywords and select the appropriate keyword for each action in the test case. The test case templates define the sequence of keywords and associated test data required to execute a specific test case[2].

  4. Test Script Execution: The test script reads the keywords and test data from the Excel sheet to perform the corresponding actions. The test execution engine or the automation framework interprets the keywords and executes the associated functions or actions defined in the function library. The test script uses the test data from the Excel sheet as inputs for the actions performed during the test execution[1][4][6].

By storing the keywords and test data in an Excel sheet, the Keyword Driven Framework provides a flexible and easily maintainable approach to automation testing. It allows for easy modification and customization of test cases without the need to modify the underlying code. Testers can update the test data and keywords in the Excel sheet, enabling quick changes to the test script behavior[1][2][4][6].

It's important to note that the specific format and structure of the Excel sheet may vary depending on the implementation and requirements of the Keyword Driven Framework. The examples provided in the search results demonstrate different approaches to using an Excel sheet for storing keywords and test data.

PreviousModule Based FrameworkNextData Driven Framework

Last updated 1 year ago

Was this helpful?

๐Ÿšฐ
๐Ÿ€
๐Ÿšข
๐ŸŽน