Как я могу повторно использовать сценарий с корнишоном в другом - PullRequest
0 голосов
/ 03 августа 2020

Я хочу использовать сценарий входа в систему в другом сценарии (посадка), чтобы я мог предотвратить избыточность. На самом деле я не знаю, смогу ли я сделать это через наследие:

                              _ FormPage0
LoginPage --> LandingPage -->|_ 
                                FormPage1

как я могу это сделать это?

login.feature

@login
@config-boost-config.yml

Feature: Login/Logout in Boost
  @login-01
  Scenario Outline: <ID_Iteration> - login scenario
    Given user logged with <login> <password>
    Examples:
  ## ${boost.login}

loginStepDefinition. java

public class LoginStepDefinition extends BaseStepDefinition {

    private LoginPage loginPage;    
    @Before
    public void setup(Scenario scenario) throws MalformedURLException, TestingException {
        super.setup(scenario);
        this.loginPage = new LoginPage(this.scenarioContext);
    }  
    @Given("^user logged with (.+) (.+)$")
    public void user_logged_with(String login, String password) throws Throwable {
        this.loginPage.login(login, password);
    }
    @After
    public void tearDown() {
        super.tearDown();
    }
}

посадка .feature

@landing
@config-boost-config.yml

Feature: landing
  @landing-01
  Scenario Outline: <ID_Iteration> - landing scenario
    When user choose a brand
    And user choose a bu

    Examples:
  ## ${boost.landing}

LandingStepDefinition. java

public class LandingStepDefinition extends BaseStepDefinition {

    private LandingPage landingPage;
    @Before
    public void setup(Scenario scenario) throws MalformedURLException, TestingException {
        super.setup(scenario);
        this.landingPage = new LandingPage(this.scenarioContext);
    }
    @When("^user choose a brand$")
    public void user_choose_a_brand() throws Throwable {
        landingPage.chooseBrand();
    }
    @When("^user choose a bu$")
    public void user_choose_a_bu() throws Throwable {
        landingPage.chooseBU();
    }
    @After
    public void tearDown() {
        super.tearDown();
    }
}

PS: Я использую фреймворк на основе Селен

...