Cucumber中不同页面对象的常用方法
关于Cucumber中不同页面对象的常用方法的问题 有没有人研究过创建通用方法,可以在cucumber中的不同页面对象之间使用 示例:单击方法。 我在功能文件中指定页面对象(并单击对象o)。 这依次调用步骤定义。在步骤定义中,我们为click编写了一个通用方法(object o.click()) 我们还有一个单独的类,其中定义了所有页面对象(例如:对象o的xpath)。现在的问题是如何将这些页面对象与click方法的公共步骤定义进行集成 如果这是可以实现的,我们只需要为不同的对象(对象o到对象b)更改特征文件中的步骤。单击方法将适用于所有不同的页面对象,我们只需要在公共页面对象类中添加这些对象的xpathCucumber中不同页面对象的常用方法,cucumber,cucumber-jvm,cucumber-java,Cucumber,Cucumber Jvm,Cucumber Java,关于Cucumber中不同页面对象的常用方法的问题 有没有人研究过创建通用方法,可以在cucumber中的不同页面对象之间使用 示例:单击方法。 我在功能文件中指定页面对象(并单击对象o)。 这依次调用步骤定义。在步骤定义中,我们为click编写了一个通用方法(object o.click()) 我们还有一个单独的类,其中定义了所有页面对象(例如:对象o的xpath)。现在的问题是如何将这些页面对象与click方法的公共步骤定义进行集成 如果这是可以实现的,我们只需要为不同的对象(对象o到对象b
有人为此而努力吗 这完全取决于您要在其中设置的项目框架 是的,这是可能的 例如: PageOjectclass:
WebDriver driver = null;
private WebElement element = null;
private By By = null;
public PageOjectclass(WebDriver driver) {
this.driver = driver;
}
public static WebElement button_submit() throws Exception {
try {
element = driver.findElement(By.xpath("//h1[@class='txtCenter white ico30']"));
} catch (Exception e) {
AutomationLog.error("HomePageHeader Element not found");
throw (e);
}
return element;
}
CommonClass
public static void Customclick(WebElement e) {
e.click();
}
@When("^testing$")
public void test() throws Throwable {
CommonClass.Customclick(PageOjectclass.button_submit());
}
StepDefinitionClass
public static void Customclick(WebElement e) {
e.click();
}
@When("^testing$")
public void test() throws Throwable {
CommonClass.Customclick(PageOjectclass.button_submit());
}
只需注意传递webdriver初始化的对象,并使用构造函数等传递它们