2 つの異なるファイルでステップ定義を行う Cucumber 機能ファイルを実行しようとしています。最初のステップ定義のすべてのメソッドが実行され、2 番目のメソッドを実行すると、既存のインスタンスを続行する代わりに、新しいブラウザー インスタンスが起動されます。
Cucumber 機能ファイル シナリオ: Firefox を開いて Guru に移動した場合 UserName と Password を入力して Guru にログインすると、[New Customer] をクリックすると [New Customer Page] が表示され、[HomePage] をクリックすると [HomePage] が表示されます
最初のステップの定義
package stepDefination;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.support.PageFactory;
import Pages.HomePage;
import Pages.NewCustomerPage;
import cucumber.api.java.en.Then;
import cucumber.api.java.en.When;
public class GuruStepDef {
WebDriver Driver;
NewCustomerPage customerPage;
HomePage homePage = new HomePage(Driver);
@When("^I enter UserName and Password and login to guru$")
public void I_enter_and_and_login_to_guru() {
homePage=homePage.setup();
homePage.navigateToWebApp();
}
@Then("^HomePage is displayed$")
public void Homepage_is_displayed() {
//assert
}
@Then("^I click on New Customer$")
public void I_click_on_New_Customer() {
customerPage= homePage.NavigateToCustomerPage();
}
@Then("^New Customer Page is displayed$")
public void New_Customer_Page_is_displayed() {
//assert
}
}
第二段階の定義
package stepDefination;
import org.openqa.selenium.WebDriver;
import Pages.HomePage;
import Pages.NewCustomerPage;
import cucumber.api.java.en.Then;
public class SmokeTest {
WebDriver Driver;
NewCustomerPage customerPage;
HomePage homePage = new HomePage(Driver);
@Then("^I click on HomePage$")
public void I_click_on_HomePage() {
homePage=customerPage.Manager();
}
}