Question

I am wondering if it is possible to run a cucumber feature from within another feature? For example:

@When("^I am at the User list page$")
public void I_am_at_the_User_list_page() throws InterruptedException {
    if(!driver.findElement(By.xpath("//a[contains(text(), 'User List')]")).isDisplayed()){
        driver.findElement(By.xpath("//td[contains(text(), 'Management')]")).click();
    }
    driver.findElement(By.xpath("//a[contains(text(), 'User List')]")).click();
    Assert.assertTrue("User list is showing", driver.getTitle().equals("Admin Portal -User list"));
    if(driver.findElements(By.xpath("//td[text()='\" + loginNewUserUsername() + \"']")).isEmpty()){
        //run.cucumber.feature(deleteuser.feature);//
    }
    driver.findElement(By.xpath("//a[contains(text(), 'Add User')]")).click();
    Assert.assertTrue("Entered Add User site", driver.findElement(By.id("editUserForm:changePasswordCheckBox")).isDisplayed());
}
Was it helpful?

Solution

While I would not do that as it becomes messy, tangled, the effect can be achieved indirectly by calling steps (methods).

if(...).isEmpty()){

  //call the methods/steps that makes up your feature/scenarios

  I_am_at_the_User_list_page();
  I_enter_username_as("blah");    
}
Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top