저는 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 = ID, Using = "cphMain_BLAHBLAHBLAHType_1")] public IWebElement RandomClickableElement; 그런 다음'RandomClickableElement.Click();으로 호출하십시오. –
이렇게 많은 조건을 사용하지 않는 경우 다시 작성할 수 있는지 모르겠습니다 만, 다른 경우에는 코드를 추출하여 작성해야하는 코드를 최소화 할 수 있다고 생각합니다. driver.find ...를 수행하는 별도의 메소드에있는 명령문. 클릭 할 때 사용하는 기존의 문자열에 매개 변수 문자열을 추가합니다. 이렇게하면 적은 코드를 작성할 수 있습니다. – meJustAndrew
@ meJustAndrew 도움이되는 네, 문제의 일부는 코드가 얼마나 많은 옵션을 가지고있을 때 코드를 작성해야 하는지를 최소화 할 수있는 방법을 많이 찾는 것입니다. –