Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/csharp-4.0/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jsf-2/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 4.0 调用下一步的If语句_C# 4.0_Selenium Webdriver_Specflow - Fatal编程技术网

C# 4.0 调用下一步的If语句

C# 4.0 调用下一步的If语句,c#-4.0,selenium-webdriver,specflow,C# 4.0,Selenium Webdriver,Specflow,我在步骤def中有一个方法,检查成本中心11111是否存在 如果是,我希望它移动到功能文件中的下一步(预订列车) 如果它不在那里,那么我希望它添加成本中心1111 现在,当它不存在时,逻辑按预期工作,但当它存在时,我无法让它进入功能的下一步,它只是进入“添加成本中心”命令 我做错了什么 CostCentreAdminPage.CostCentreSectionClick(); IWebElement check = null; if (DriverContext.Driver.TryFindEl

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

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

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

现在,当它不存在时,逻辑按预期工作,但当它存在时,我无法让它进入功能的下一步,它只是进入“添加成本中心”命令

我做错了什么

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();
}

原因是else块中的代码不在花括号中

所以其他的应该是这样的:

else
{
        CostCentreAdminPage.AddCostCentreClick();
        CostCentreAdminPage.AddCostCentreInput("11111");
        CostCentreAdminPage.AddCostCentresClick();
}
在不包含括号的情况下,将只执行else之后的第一条语句。这是CostCentreAdminPage.AddCostCentreClick();然后在退出else-if块后,这两条语句

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

将被执行,不管原因是else块中的代码不在花括号内

所以其他的应该是这样的:

else
{
        CostCentreAdminPage.AddCostCentreClick();
        CostCentreAdminPage.AddCostCentreInput("11111");
        CostCentreAdminPage.AddCostCentresClick();
}
在不包含括号的情况下,将只执行else之后的第一条语句。这是CostCentreAdminPage.AddCostCentreClick();然后在退出else-if块后,这两条语句

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

将被执行,不管

没有问题,很高兴它有帮助,请将此答案标记为正确答案,谢谢没有问题,很高兴它有帮助,请将此答案标记为正确答案,谢谢