私はC#の新機能で、スクリプトがウェブページ上でどのようなオプションを選択するべきかをチェックする条件文を作成しようとしています。今私はこのようにしています。それぞれのオプションについて個別のbool文を作成し、それぞれの文をチェックする長いelse文があります。複数のオプションの中で最も効率的な条件文ですか?
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 elseの中のコードを抽出して書く必要があるコードを最小限に抑えることができたと思いますdriver.find ...を実行し、クリックするために使用する既存の文字列にパラメータ文字列を追加する別個のメソッド内のステートメント。この方法でコードを少なく書くことができます。 – meJustAndrew
@meJustAndrewええ、問題の一部は、コードがどれほど長い間、私はどれだけ書くべきかを最小限に抑えるために多くの方法を見つけようとしています。 –