我是新來的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好吧,幫助,是的問題的一部分是代碼是多少時,有這麼多的選項,我試圖找到儘可能多的方式來最大限度地減少我有多少寫。 –