我正在Ubuntu上为网络编写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"
。这表示该项目已被识别,但仍未发生任何事情。
答案 0 :(得分:1)
请尝试此代码
browser.iframe(:id, "iframe").button (: id, "id_button").click
如果您需要更多信息,请查看此链接
答案 1 :(得分:0)
您是否尝试过使用javascript命令?
例如:
browser.iframe.button(:id, "id_button").fire_event("onclick")
如果不起作用,请尝试使用IRB进行调试。
PS:我会写如下:
browser.iframe(:id, /iframe/).button(:id, /button/).fire_event("onclick")