package com.epam.cucmber.stepdefs; import com.epam.jdi.uitests.core.interfaces.common.IText; import com.epam.jdi.uitests.core.interfaces.common.ITextField; import com.epam.jdi.uitests.web.selenium.elements.composite.WebPage; import cucumber.api.java.en.And; import cucumber.api.java.en.Then; import static com.epam.cucmber.stepdefs.Utils.getClassField; /** * Created by Dmitry_Lebedev1 on 1/14/2016. */ public class TextFrameworkStepdefs { @And("^I'm fill field \"([^\"]*)\" by text \"([^\"]*)\"$") public void iMFillFieldByText(String fieldName, String text) throws Throwable { ((ITextField) Utils.getClassField(WebPage.currentPage, fieldName)).sendKeys(text); } @Then("^(?:Text|Label|Link|Button) \"([^\"]*)\" contains \"([^\"]*)\"$") public void textFromContains(String fieldName, String contains) throws Throwable { ((IText) Utils.getClassField(WebPage.currentPage, fieldName)).waitText(contains); } @And("^(?:Text|Label|Link|Button) \"([^\"]*)\" mach \"([^\"]*)\"$") public void textFromMach(String fieldName, String regex) throws Throwable { ((IText) Utils.getClassField(WebPage.currentPage, fieldName)).waitMatchText(regex); } @And("^(?:Text|Label|Link|Button) \"([^\"]*)\" from \"([^\"]*)\" contains \"([^\"]*)\"$") public void textFromContains(String linkName, String containerName, String contains) throws Throwable { ((IText) Utils.getClassField(Utils.getClassField(containerName), linkName)).waitText(contains); } @And("^(?:Text|Label|Link|Button) \"([^\"]*)\" from \"([^\"]*)\" much \"([^\"]*)\"$") public void textFromMuch(String linkName, String containerName, String regex) throws Throwable { ((IText) Utils.getClassField(Utils.getClassField(containerName), linkName)).waitMatchText(regex); } }