4

我在 Ubuntu for web 上使用 Watir-WebDriver 和 Ruby 1.9.2 编写自动测试。我有一些包含几个元素的 iframe。我需要单击这些项目并检查会发生什么。<iframe>看起来像:

<iframe id="iframe" align="top" some_attribute="some_attribute">
    <html>
        <head>
            <title> Some title </title>
        </head>
        <body>
            <div>
                <button id="id_button" type="button" class="some_class"/>
            </div>
        </body>
    </html>
</iframe>

当我单击按钮时,它应该创建菜单。但是当我点击带有 watir-webdriver 的按钮时,什么也没有发生,好像他没有按下一样。Watir 不打印任何异常,但不要按下按钮。

此问题仅在 Internet Explorer 中仍然存在。对于 Firefox 和 Chrome,没有问题。我的代码如下所示:

browser = Watir :: Browser.new (: remote,: url => "http://some_ip:4444/wd/hub",: desired_capabilities =>: internet_explorer)
browser.goto ("http://some_http.com")
browser.iframe.button (: id, "id_button"). click

如果我写

browser.iframe.button(: id, "id_button").attribute_value("class") 

它回来了"some_class"。这表明该项目已被识别,但仍然没有任何反应。

4

2 回答 2

1

请尝试此代码

browser.iframe(:id, "iframe").button (: id, "id_button").click

如果您需要更多信息,请查看此链接

http://wiki.openqa.org/display/WTR/Frames

于 2012-12-19T10:33:45.377 回答
0

您是否尝试过使用 javascript 命令?

例如:

browser.iframe.button(:id, "id_button").fire_event("onclick")

如果这不起作用,请尝试使用 IRB 进行调试。

PS:我会这样写:

browser.iframe(:id, /iframe/).button(:id, /button/).fire_event("onclick")
于 2012-09-18T13:16:27.823 回答