1. Feature File : myCuc.feature
Feature: Yahoo Login Page Scenario: Yahoo Login Test Given user opens Yahoo Login Page Then user enters username Then user clicks on Next Button Then user enters password And user clicks on signIn Button And close the browser
2. Cucumber_Step_Definition Class :
package Practice_Cucumber; import org.openqa.selenium.By; import org.openqa.selenium.WebDriver; import org.openqa.selenium.chrome.ChromeDriver; import cucumber.api.java.en.And; import cucumber.api.java.en.Given; import cucumber.api.java.en.Then; public class Cucumber_Step_Def { WebDriver driver = null; @Given("^user opens Yahoo Login Page$") public void user_opens_Yahoo_Login_Page() { System.setProperty("webdriver.chrome.driver", "lib\\chromedriver.exe"); driver = new ChromeDriver(); driver.navigate().to("https://login.yahoo.com/"); driver.manage().window().maximize(); driver.manage().timeouts().pageLoadTimeout(10, TimeUnit.SECONDS); driver.manage().timeouts().implicitlyWait(10, TimeUnit.SECONDS); } @Then("^user enters username$") public void user_enters_username() { driver.findElement(By.xpath("//*[@id='login-username']")).sendKeys("[email protected]"); } @Then("^user clicks on Next Button$") public void user_clicks_on_Next_Button() { driver.findElement(By.xpath("//*[@id='login-signin']")).click(); } @Then("^user enters password$") public void user_enters_password() { driver.findElement(By.xpath("//*[@id='login-passwd']")).sendKeys("dummyPassword"); } @And("^user clicks on signIn Button$") public void user_clicks_on_signIn_Button() { driver.findElement(By.xpath("//*[@id='login-signin']")).click(); } @And("^close the browser$") public void close_the_browser() { driver.quit(); } }
3. Runner Class :
package Practice_Cucumber; import org.junit.runner.RunWith; import cucumber.api.CucumberOptions; import cucumber.api.junit.Cucumber; @RunWith(Cucumber.class) @CucumberOptions(features="src/Practice_Cucumber/myCuc.feature", format = {"pretty","html:target/cucumber_report"}) public class RunTest {}
Leave a Reply
You must be logged in to post a comment.