I am new to Karate Framework and I need to execute multiple scenarios from one feature file on chrome, msedge and firefox browser. After each scenario outline I am adding configuration type in Example, as below:
Feature: Login test
Background: #* configure driver = {type: 'msedge', headless: true} #* configure driver = [{type: 'msedge'}, {type: 'chrome', executable:'C:\Program Files\Google\Chrome\Application\chrome.exe'}] * def element = read('classpath:Test/FunctionalAutomation/Locators/LoginWebelement.json') * def data = read ('classpath:Test/FunctionalAutomation/TestData/DataLogin.json')
Scenario Outline: Login to application with positive and negative scenario #With correct p/w * configure driver = {type: '<conf>', executable: '<exePath>'} Given driver "https://www.saucedemo.com/" And input(element.x_username, data.txt_username) And input(element.id_password, data.txt_password) When click(element.id_loginButton) Then print driver.title Then match driver.title == 'Swag Labs' Examples: | conf | exePath | | msedge | C:\\Program Files (x86)\\Microsoft\\Edge\\Application\\msedge.exe | | chrome | C:\\Program Files\\Google\\Chrome\\Application\\chrome.exe | Scenario Outline: With invalid p/w * configure driver = {type: '<conf>', executable: '<exePath>'} Given driver "https://www.saucedemo.com/" And input(element.x_username, data.txt_username) And input(element.id_password, data.txt_wrongPassword) When click(element.id_loginButton) Then print text(element.x_errorMessageText) Then match text(element.x_errorMessageText) == data.err_msg_incorrectCredential Examples: | conf | exePath | | msedge | C:\\Program Files (x86)\\Microsoft\\Edge\\Application\\msedge.exe | | chrome | C:\\Program Files\\Google\\Chrome\\Application\\chrome.exe | Is there any way so that I can avoid repetition of same Example after each scenario as I wanted to execute scenarios on Chrome, firefox as well as edge.