0
私はSeleniumでいくつかのテストを実施しました。私はできるだけ強いテストをしたい。 ElementToBeClickableを使用するか、elementExisitsまたはその両方を使用する必要があるかどうかを知りたい。最も正確な結果を得るための明示的な待機のベストプラクティス
例えば私が使用する必要があります
方法1
public static WebDriverWait webDriverWait;
webDriverWait = new WebDriverWait(excelSession, TimeSpan.FromSeconds(60));
webDriverWait.Until(ExpectedConditions.ElementToBeClickable(wordSession.FindElementByName("Create"))).Click();
方法2
By create = By.Name("Create");
webDriverWait.Until(ExpectedConditions.ElementExists(create)).Click();
方法3
By create = By.Name("Create");
webDriverWait.Until(ExpectedConditions.ElementExists(create)).Click();
webDriverWait.Until(ExpectedConditions.ElementToBeClickable(excelSession.FindElement(create))).Click();
要素がレーンをさらに下ってクリックされることになっている場合は、「ElementToBeClickable」のみを使用する必要があります。 'ExpectedConditions'はあなたの別個のアクションだけで設定する必要があります。ありがとうございます – DebanjanB
私はいつもElementIsClickableを私の場合のほとんどのために使用する方が好きです。なんらかの理由でElementIsClickableが機能しない場合(無効なアイテムの場合)、他のいくつかのチェックと組み合わせて、他の兄弟要素の利用可能性をチェックする方がよいでしょう。 –
私はこの質問を意見に基づいて閉じるよう投票しました。私たちはあなたが何をすべきかを知ることができません。私たちはあなたのAPIがドキュメントに基づいて何をすべきかだけ言うことができます*あなたの質問に答えるために読んだこともあります。もちろん、あなたの問題を解決する方法は複数あるかもしれませんが、どちらを選択するかはあなた次第です。 – HimBromBeere