如果声明要调用下一步

时间:2016-09-13 13:41:00

标签: c#-4.0 selenium-webdriver specflow

我的步骤def中有一个方法,用于检查成本中心11111是否存在

如果是,我希望它移动到功能文件中的下一步(预订火车)。

如果它不存在,那么我希望它添加成本中心1111。

现在当它不存在时,逻辑按预期工作,但是当它在那里时,我无法进入该功能的下一步,它只是转移到&#34 ;添加成本中心"命令

我做错了什么?

CostCentreAdminPage.CostCentreSectionClick();
IWebElement check = null;
if (DriverContext.Driver.TryFindElement(By.XPath("//*[contains(text(),'11111')]"), out check))
{
    GivenAUserInOnTheBookATrainPage();
}
else
    CostCentreAdminPage.AddCostCentreClick();
    CostCentreAdminPage.AddCostCentreInput("11111");
    CostCentreAdminPage.AddCostCentresClick();
}

1 个答案:

答案 0 :(得分:3)

原因是你在else块中的代码不在大括号内

所以其他应该是这样的:

else
{
        CostCentreAdminPage.AddCostCentreClick();
        CostCentreAdminPage.AddCostCentreInput("11111");
        CostCentreAdminPage.AddCostCentresClick();
}

如果您不包括括号,则只执行else之后的第一个语句。这是CostCentreAdminPage.AddCostCentreClick();然后退出你的else if块后,两个语句

CostCentreAdminPage.AddCostCentreInput("11111");
CostCentreAdminPage.AddCostCentresClick();
无论

,都将执行