我是新来的C#,并试图做一个条件语句,我在检查我的脚本应该选择什么选项在网页上。现在我正在这样做,我已经为每个选项制作了单独的bool语句,而且我还有很长一段时间如果语句检查每个选项。用于多个选项的最有效的条件语句?
bool PersonalPolicy = true;
bool FarmOwnersPolicy = true;
if (PersonalPolicy)
{
driver.FindElement(By.Id("cphMain_ctl_WorkflowManager_Quote_Farm_ctl_Farm_Basic_Policy_Info_radioListCommOrPersonal_0")).Click();
}
else
{
driver.FindElement(By.Id("cphMain_ctl_WorkflowManager_Quote_Farm_ctl_Farm_Basic_Policy_Info_radioListCommOrPersonal_1")).Click();
}
if (FarmOwnersPolicy)
{
driver.FindElement(By.Id("cphMain_ctl_WorkflowManager_Quote_Farm_ctl_Farm_Basic_Policy_Info_rdoPolicyType_0")).Click();
}
else if (SelectoMaticPolicy)
{
driver.FindElement(By.Id("cphMain_ctl_WorkflowManager_Quote_Farm_ctl_Farm_Basic_Policy_Info_rdoPolicyType_1")).Click();
}
else
{
driver.FindElement(By.Id("cphMain_ctl_WorkflowManager_Quote_Farm_ctl_Farm_Basic_Policy_Info_rdoPolicyType_2")).Click();
}
的问题是对于一些事情,我要检查有一吨的我不想赚一百万布尔语句,并有其他真正长期if语句选项。有一种更简单的方法来设置它的格式吗?
按照POM定义元素,例如, '[FindsBy(How = How.ID,Using =“cphMain_BLAHBLAHBLAHType_1”)] public IWebElement RandomClickableElement;'。然后通过RandomClickableElement.Click()调用它;' –
我不知道这是否可以重写为不使用这么多的条件,但我认为你可以通过提取if语句在一个单独的方法中执行driver.find ...并将一个参数字符串附加到您用来单击的现有字符串。这样你就可以编写更少的代码。 – meJustAndrew
@meJustAndrew好吧,帮助,是的问题的一部分是代码是多少时,有这么多的选项,我试图找到尽可能多的方式来最大限度地减少我有多少写。 –