私はこの問題に遭遇した最初の人ではないことを願っています。ページオブジェクトモデルデザインでどのようにSelenium ExpectedConditionsを使用しますか?
私はC#でいくつかのセレンテストを書いていますが、ページオブジェクトモデルデザインをアドボットしようとするとジレンマがありますが、ExpectedConditionsクラスで明示的に待機する必要があります。
その後、私は行くだろう
public class PageObject {
public IWebElement Element
{
get { return DriverContext.Driver.FindElement(By.XPath(Resources.Element)); }
}
}
...のは、私は単にリソースファイルに保存されたXPathを使用して.FindElementメソッドを呼び出し、プロパティである要素マップクラスで私の要素を格納していましょうさまざまなセレンメソッドでそのプロパティを使用します。
問題は、この要素がページに表示されているかどうかをチェックする必要があります。チェックを行う前にエラーが発生します(WebDriverWaitで、ExpectedConditions.ElementIsVisible(by)を.until方法)。
IWebElementとByロケータをきれいに分離し、この明示的な待機/確認が必要な場合はどうすればよいですか?
TLDR - 私の要素のByロケータに基づいて明示的な待機を使用する柔軟性を持ちながら、ページオブジェクトモデルデザインを維持する方法を教えてください。
多くのおかげで、