2013-08-07 35 views
0

我想知道如何才能知道從Process.Start()啓動的另一個應用程序是否已完全加載(所有控件已準備就緒等),因爲WaitForInputIdle似乎不是工作...在我的情況下,我需要創建自動化元素樹,但一些DevExpress應用程序動態創建控件,我不知道如何檢查其狀態。我也使用WindowPattern和WindowInteractionState檢查窗口,但它沒有辦法。等待另一個進程窗口滿載

回答

0

我相信這取決於應用程序。有些包括會告訴你這個的標誌或通信方法,而另一些則沒有。

Source

0

你不說是否要使用的DevExpress expressAppFramework,但在我XAF 12.1的經驗,後來,有一個函數xafHasPendingCallbacks()。如果您可以找到查詢此功能的方法,則應該能夠驗證DevExpress回調是否完整。

例如,硒我用

function waitForCallbacks() { 
    selenium.waitForCondition("typeof selenium.browserbot.getUserWindow().xafHasPendingCallbacks == 'function';", timeout); 
    selenium.waitForCondition("selenium.browserbot.getUserWindow().xafHasPendingCallbacks() == false;", timeout); 
} 

如果你使用普通的DevExpress控件(不XAF)的話,我不認爲這種做法會工作,但如果你可以修改網頁腳本,也許你可以創建一個類似的功能。