0

C# を使用して、ページ オブジェクト モデルで webdriver を使用して単一ページの Web アプリケーションをテストしようとしています。Web サイトは JavaScript を集中的に使用し、遅延読み込みを行います。明示的な待機を使用してみました。次のコードを使用して、JavaScript がアクティブかどうかを確認しました。

return jQuery.active == 0

ページが読み込まれたかどうかを知るために、両方の組み合わせを使用してみました

WebDriverWait _wait = new WebDriverWait(Driver, TimeSpan.FromSeconds(25));
    bool WhenToExit = true;
            while (WhenToExit) // Handle timeout somewhere
            {
                var ajaxIsComplete = (bool)(Browser.Driver as IJavaScriptExecutor).ExecuteScript("return jQuery.active == 0");
                if (ajaxIsComplete)
                {


                    bool isDisplayed = _wait.Until(d => d.FindElement(By.ClassName("example"))).Displayed;

                    if(isDisplayed)
                    {
                    break;
                    }
                }
                Thread.Sleep(100);
                int Timer = 0;
                Timer++;
                if (Timer == 100)
                {
                    WhenToExit = false;
                }
            }

.しかし、それでもWebドライバーはページがロードされるのを待たず、ステップを実行し続けるだけなので、使用したくないThread.Sleep()を使用することを余儀なくされました。
この問題を回避する方法を教えてください。よろしくお願いします

4

0 に答える 0