尝试
@Given ("I am on the properties to $action page")
public void given_i_am_on_the_properties_action_page(@Named("action") String action) {
if (action.equalsIgnoreCase("Buy") {
do something;
}
if (action.equalsIgnoreCase("Rent") {
do something;
}
}
“做某事”可能是为后续步骤设置页面对象。同样,您可以为 @Then 步骤使用相同的方法和变量。
我使用了类似的东西来选择菜单项并等待页面加载,然后再继续下一步
@When ("I select menu item $menuItem")
public static void when_i_select_menu_item(@Named("menuItem") String menuItem) {
String item = "";
String waitFor = "";
if (menuItem.equalsIgnoreCase("admin")) {
item = "Admin";
waitFor = "admin_page";
}
if (menuItem.equalsIgnoreCase("home")) {
item = "Home";
waitFor = "home_page";
}
if (menuItem.equalsIgnoreCase("search")) {
item = "Search";
waitFor = "search_page";
}
driver.findElement(By.id(item)).click();
(new WebDriverWait(driver, timeout)).until(new ExpectedCondition<Boolean>() {
public Boolean apply(WebDriver d) {
return element.findElement(By.id(waitFor)).isDisplayed() || d.findElement(By.id(waitFor)).isEnabled();
}
});
}