0
您好我正在使用watir进行PHP项目的黄瓜测试。 不幸的是,页面始终是由两帧构成的。watir:frame.body的内容没有更新(是否有刷新方法)
<html>
<head>
<meta http-equiv="X-UA-Compatible" content="IE=7">
<title>Rothschild - Olomouc</title>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1250">
<script type="text/javascript" src="js/jquery.js"></script>
<script type="text/javascript" src="js/skripty.js"></script>
</head>
<frameset cols="183,*" frameborder="NO" border="0" framespacing="0" rows="*">
<frame name="leftFrame" scrolling="AUTO" noresize src="">
<frame name="mainFrame" src="getuser.php">
</frameset>
<noframes>
<body id=body bgcolor="#FFFFFF" text="#000000">
</body>
</noframes>
</html>
leftFrame
是菜单, mainFrame
是主要的页面内容。
我用
if headless
@browser = Watir::Browser.new :phantomjs #headless
else
require 'watir-webdriver'
@browser = Watir::Browser.new :ie #non headless,IExplorer
end
main_content= @browser.frame(:name, "mainFrame").body
获得页面的主要部分的内容。它几乎每次都有效。
但现在我得到的情况对TR
<tr class="subTable dealer_1" onDblClick="window.location.href='detail_dealer.php?id=207'">
<td><a name="a207"></a></td>
<td> Lama Mirek</td>
<td> Ústí n. Orlicí</td>
<td></td>
</tr>
双击时让我detail_dealer.php?id=207
网页(当然mainFrame
) 但
@ browser.frame(:名称, “mainFrame中”) .body
给了我以前的表(双击行)。
当我试着使用PRY
pry:> @browser.frame(:name, "mainFrame").body => content of desired detail page
它看起来像的Watir需要时间来“刷新”身体的内容进行调试。有没有办法做到“refresh
”或“wait until new content is loaded
”?
这与两个驱动程序watir-webdriver
和phantomjs
发生。