1

我安装了RFT 8.5JRE 7. 当我运行脚本时,它没有找到浏览器对象。

下面是我在 RFt 中用于查找 brwoser 对象的代码。

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

回来了Allbects.lenth=0。因为我受到打击。

任何人都可以帮助我如何解决这个问题。

注意:我使用的是 IE8

4

3 回答 3

1

试试下面的代码片段:

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

希望能帮助到你。

于 2014-04-15T19:18:22.430 回答
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。

我希望有一个更简单的解决方案——期待看到一个:)

于 2014-04-15T15:08:34.837 回答
0

浏览器是一个顶级窗口,所以你可以做的是: Dim Allobjects() as TestObeject Allobjects=Find(AtChild(".class","Html.HtmlBrowser")) '上面的代码期望浏览器是静态启用的,还有 RootTestObject不需要,因为如果没有提供锚点,RFT 将使用 RootTestObject。

此外,如果浏览器未静态启用,那么您还可以使用:

DynamicEnabler.HookBrowsers() API 以便启用浏览器。

于 2014-04-16T06:17:50.343 回答