Getting duplicate step definition exception | Selenium Forum

Getting duplicate step definition exception  | Selenium Forum

getting duplicate step definition exception

Please suggest the resolution on the below error occuring in running runner class -

----------------------------------------------------------------------------------------------------------------------------------------------------------------------

cucumber.runtime.DuplicateStepDefinitionException: Duplicate step definitions in com.webautomation.step.genericsteps.state(String,String) in file:/F:/Eclipse-Cucumber-WS/CucumberProject/target/test-classes/ and com.webautomation.step.genericsteps.country(String,String) in file:/F:/Eclipse-Cucumber-WS/CucumberProject/target/test-classes/ at cucumber.runner.Glue.addStepDefinition(Glue.java:38) at cucumber.runtime.java.JavaBackend.addStepDefinition(JavaBackend.java:141) at cucumber.runtime.java.MethodScanner.scan(MethodScanner.java:64) at cucumber.runtime.java.MethodScanner.scan(MethodScanner.java:41) at cucumber.runtime.java.JavaBackend.loadGlue(JavaBackend.java:82) at cucumber.runner.Runner.<init>(Runner.java:39) at cucumber.runner.ThreadLocalRunnerSupplier.createRunner(ThreadLocalRunnerSupplier.java:42) at cucumber.runner.ThreadLocalRunnerSupplier.access$000(ThreadLocalRunnerSupplier.java:13) at cucumber.runner.ThreadLocalRunnerSupplier$1.initialValue(ThreadLocalRunnerSupplier.java:22) at cucumber.runner.ThreadLocalRunnerSupplier$1.initialValue(ThreadLocalRunnerSupplier.java:19) at java.base/java.lang.ThreadLocal.setInitialValue(ThreadLocal.java:195) at java.base/java.lang.ThreadLocal.get(ThreadLocal.java:172) at cucumber.runner.ThreadLocalRunnerSupplier.get(ThreadLocalRunnerSupplier.java:38) at io.cucumber.junit.Cucumber$RunCucumber.evaluate(Cucumber.java:171) at org.junit.runners.ParentRunner.run(ParentRunner.java:363) at org.eclipse.jdt.internal.junit4.runner.JUnit4TestReference.run(JUnit4TestReference.java:89) at org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:41) at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:541) at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:763) at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:463) at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:209)

Step Definition code -

package com.webautomation.step;

import java.util.List;

import com.webautomation.webdriver.WebConnector;

import io.cucumber.java.en.And; import io.cucumber.java.en.Given; import io.cucumber.java.en.Then; import io.cucumber.java.en.When;

public class genericsteps { WebConnector con;

public genericsteps(WebConnector con) { this.con = con; } @Given("^I open ([^\"]*)$") public void openBrowser1(String browserName){ // System.out.println("Opening Browser "+browserName); con.openBrowser(browserName); }

@And("^I launch ([^\"]*) of Online Shopping portal$") public void launchsite(String URL) { // System.out.println("Navigate to Automation Practice shopping portal" + URL); con.navigate(URL); } @When ("^I click on Sign-In ([^\"]*)$") public void clicksigninlink(String link) { // System.out.println("Clicked sign-in option" + link); con.click(link); } @Then("^I am navigated to Sign-up page$") public void signuppage() { System.out.println("I am taken to sign-up page"); } @Given("^I am at sign-up page$") public void registerpage() { System.out.println("I am on sign-up page"); } @When("^I enter the ([^\"]*) at the ([^\"]*) field$") public void enteremail(String emailid, String email_field_locator) { // System.out.println("enter the email id"+emailid+ "email xpath - "+email_field_locator); con.type(email_field_locator, emailid); } @And("^click ([^\"]*)$") public void clickcreateanaccountbtn(String create_an_account_button_xpath) { // System.out.println("Clicked create an account button"); con.click(create_an_account_button_xpath); } @Then("^I am taken to create an account page$") public void intocreateanaccountpage() { System.out.println("I am inside create an account page"); } @Given ("^I am on create an account page$") public void iamoncreateanaccountpage() { System.out.println("I am on create an account page"); } @When ("^I select my ([^\"]*)$") public void select_salutation(String salutation_value, List<String> radio_option_xpath) { con.selectradioption(salutation_value, radio_option_xpath); } @And ("^enter ([a-zA-Z]{1,}) at ([^\"]*)$") public void fname(String fname_var, String fname_xpath) { con.type(fname_xpath, fname_var); } @And ("^enter ([a-zA-Z]{1,}) at ([^\"]*)$") public void lname(String lname_var, String lname_xpath) { con.type(lname_xpath, lname_var); } @And ("^enter ([^\"]*) at ([^\"]*)$") public void password(String password_var, String password_xpath) { con.type(password_xpath, password_var); } @And ("^enter (\\d+) at ([^\"]*)$") public void day(String day_var, String day_name_select) { con.selectdropdown(day_name_select, day_var); } @And ("^enter ([a-zA-Z]{1,}) at ([^\"]*)$") public void month(String month_var, String month_name_select) { con.selectdropdown(month_name_select, month_var); } @And ("^enter (\\d+) at ([^\"]*)$") public void year(String year_var, String year_name_select) { con.selectdropdown(year_name_select, year_var); } @And ("^enter ([a-zA-Z0-9]{1,}) at ([^\"]*)$") public void company(String company_var, String company_xpath) { con.type(company_xpath, company_var); } @And ("^enter ([a-zA-Z0-9]{1,}) at ([^\"]*)$") public void address(String address_var, String address_xpath) { con.type(address_xpath, address_var); } @And ("^enter ([a-zA-Z]{1,}) at ([^\"]*)$") public void city(String city_var, String city_xpath) { con.type(city_xpath, city_var); } @And ("^select ([a-zA-Z]{1,}) at ([^\"]*)$") public void state(String state_var, String state_name_select) { con.selectdropdown(state_name_select, state_var); } @And ("^enter (\\d+) at ([^\"]*)$") public void zipcode(String zipcode_var, String zipcode_xpath) { con.type(zipcode_xpath, zipcode_var); } @And ("^select ([a-zA-Z]{1,}) at ([^\"]*)$") public void country(String country_name_var, String county_name_select) { con.selectdropdown(county_name_select, country_name_var); } @And ("^enter (\\d+) at ([^\"]*)$") public void mobnumber(String mob_number_var, String mob_number_xpath) { con.type(mob_number_xpath, mob_number_var); } @And ("^enter ([a-zA-Z0-9]{1,}) at ([^\"]*)$") public void addressalias(String address_alias_var, String address_alias_xpath) { con.type(address_alias_xpath, address_alias_var); } @And ("^click ([^\"]*)$") public void registerbutton(String register_button_var) { con.click(register_button_var); } @Then ("^I am taken to My Account page$") public void registered() { System.out.println("Successfully registered...!!"); } }

@RegisterUser Feature: Register User on automation practice online shopping portal

Background: Given I open browsername1 And I launch URL of Online Shopping portal When I click on Sign-In Link_xpath Then I am navigated to Sign-up page

@GoToSignUpPage Scenario: User create an account Given I am at sign-up page When I enter the email_id at the email_id_xpath field And click create_an_account_button_xpath Then I am taken to create an account page @EnterYourPersonalDetails Scenario Outline: Enter Personal and Address details Given I am on create an account page When I select my <salutation> |Mr-Salutation-id|Mrs-Salutation-id| And enter <fname> at fname-xpath And enter <lname> at lname-xpath And enter <password> at password-xpath And select <day> at day-name-select And select <month> at month-name-select And select <year> at year-name-select And enter <company> at company-xpath And enter <address> at address-xpath And enter <city> at city-xpath And select <state> at state-name-select And enter <zipcode> at zipcode-xpath And select <country> at country-name-select And enter <mob-number> at mob-number-xpath And enter <address-alias> at address-alias-xpath And click register-button-xpath Then I am taken to My Account page Examples: |fname |lname|password |day|month |year|company|address |city |state|zipcode|country |mob-number|address-alias| |Nikhil|Gupta|password123|23 |August|1988|RBS |Cybercity|Gurugram|Texas|00001 |United States|9498070042|Office-Addr |

Before suggesting a solution, we need to analyze your code first. Please export your project in a compressed zip file and share it with us.

We offer online selenium and UFT/QTP training. The course is very comprehensive and covers every aspect of automation testing with UFT/QTP and selenium. All types of frameworks are covered in depth - data driven framework, hybrid framework, page object model with a live project

© 2020 Whizdom Trainings. All rights Reserved - Powered by Whizdom Trainings

Recommended articles