2014-04-15 45 views
1

我安裝了RFT 8.5JRE 7。當我運行腳本時,它沒有找到瀏覽器對象。無法在RFT 8.5中找到瀏覽器對象

下面是我在RFt中用於查找brwoser對象的代碼。

Dim Allobjects() as TestObeject 
Allobjects=RootTestObject.GetRootTestObject.Find(".class","Html.HtmlBrowser")) 

這裏是返回Allbects.lenth=0。因爲我受到了打擊。

任何人都可以幫助我如何解決這個問題。

注:我使用IE8

回答

1

我無法找到使用RootTestObject無論是瀏覽器。但它有可能找到用HTML域瀏覽器窗口:

startApp("Google"); 
startApp("asdf"); 
sleep(5); 

DomainTestObject[] dtos = getDomains(); 
List<DomainTestObject> htmlDomains = new ArrayList<DomainTestObject>(); 
for (DomainTestObject dto : dtos) { 
    if (dto.getName().equals("Html")) { 
     htmlDomains.add(dto); 
    } 
} 

List<BrowserTestObject> browsers = new ArrayList<BrowserTestObject>(); 
for (DomainTestObject htmlDomain : htmlDomains) { 
    TestObject[] tos = htmlDomain.getTopObjects(); 
    for (TestObject to : tos) { 
     if (to.getProperty(".class").equals("Html.HtmlBrowser")) { 
      browsers.add((BrowserTestObject) to); 
     } 
    } 
} 

System.out.println("Found " + browsers.size() + " browsers:"); 
for (BrowserTestObject browser : browsers) { 
    System.out.println(browser.getProperty(".documentName")); 
} 

輸出:

Found 2 browsers: 
https://www.google.ch/ 
http://www.asdf.com/ 

首先,我開始2個瀏覽器。然後我得到所有的Html域測試對象。之後,我得到所有頂級對象,並檢查他們的類是否爲Html.HtmlBrowser。

我希望有一個簡單的解決方案,期待看到一個:)

1

嘗試下面的代碼片段:

Dim Allobjects() As TestObject 
Allobjects = Find(AtDescendant(".class", "Html.HtmlBrowser")) 

希望它能幫助。

0

瀏覽器是一個頂層窗口,所以你可以做的是: 昏暗Allobjects()作爲TestObeject Allobjects =查找(AtChild(「類」,‘Html.HtmlBrowser’)) 「上面的代碼預期的瀏覽器要靜態啓用,也不需要RootTestObject,因爲如果沒有提供錨點,RFT將隱式地使用RootTestObject。

此外,如果瀏覽器不是靜態啓用,那麼你也可以使用:

DynamicEnabler.HookBrowsers()API,使瀏覽器得到啓用。