2017-09-15 179 views
1

在我們的測試機器之一,2個瀏覽器計雖然只有1顯示,造成UFT不能識別和輸入值對象,因爲我們使用正則表達式:UFT檢測2個Internet Explorer瀏覽器,但只有1顯示

Browser("title:=.*").Page.... 

我們使用下面一行的初始化IE:

InvokeApplication "C://Program Files/Internet Explorer/IEXPLORE.EXE" 

,這是什麼解決辦法?

UFT版本是12.02。

提前致謝!

+0

沒有太多的信息可以幫助你。我假設你確實採取了瀏覽器的計數(你得到2)。爲什麼不嘗試使用創建時間而不是標題? – Pranav

+0

檢查任務管理器是否有額外的'iexplore.exe'進程運行或沒有運行。 – Gurman

+0

@Pranav - 我們所有的腳本都使用標題,需要花費很多時間來更新所有腳本並可能影響腳本。我首先尋找解決方法,但這是我的最後一個選擇。謝謝 –

回答

0

感謝您的輸入。我從你身上學到了很多東西。我已經找到了根本原因。畢竟不是多個打開的瀏覽器,而是其中一臺機器的登錄頁面的計時問題。然而,電子郵件地址文本框對象是可見的,但它不能立即由UFT識別,這就是爲什麼我添加同步點以等待最多4分鐘,直到object.Exist(240)=true。謝謝你們!

0

我會先用關閉IE的所有打開的實例:

SystemUtil.CloseProcessByName("iexplore.exe") 

,然後使用打開新的實例:

SystemUtil.Run "iexplore.exe","TestURL","C:\","",3 

檢查this鏈接的詳細信息,SystemUtil

+0

謝謝。如果在UFT中忽略AL​​M的設置是否打開,這會忽略ALM嗎?或者我必須添加一些代碼來忽略ALM? –

+0

@GlennC,這將關閉ALM(在IE中打開)。爲了解決這個問題,我建議使用ALM Explorer,所以如果使用IE打開,你需要擔心它會關閉。在這個問題上檢查我的[**'answer' **](https://stackoverflow.com/a/32056517/1652222)。 – ManishChristian

0

請按照以下步驟操作: -

1)關閉所有使用WMI對象的IE進程。

Set ObjWMI= GetObject("WInmgmts:") 
Set oProcess = ObjWMI.ExecQuery("Select * from win_32 Process") 
For each p in oProcess 
    if p.name = "iexplorer.exe" Then p.terminate 
Next 

2)webUtil.deleteCokkies

3)然後使用systemUtil.run打開應用程序..

希望這將有助於

相關問題