0

我正在使用 Cucumber + Webrat + Mechanize 适配器,并希望测试 iframed 或框架到所选页面的页面内容。

换句话说:

Scenario: View header on webpage
  Given I visit a page containing a frameset
  When there is a header frame
  Then I should see login details in frame header

问题当然是最后一步:我需要导航到帧头并调查它的内容。我可以验证框架标签在这里

response_body.should have_selector "frame[src][name=header]"

这给我留下了两个问题:

  1. 如何读取 src 属性并导航到该页面
  2. 如何导航回原始页面
4

3 回答 3

0

这将回答问题的第一部分

Then /^I should see login details in frame header$/ do
  within 'frame[name=header]' do |frame|
    frame_src = frame.dom.attributes["src"].value
    visit frame_src
    response_body.should contain "Log in with digital certificate"
    response_body.should_not contain "Log out"
  end
end
于 2010-01-04T21:52:32.693 回答
0

你实际上不必那样做。因为您的浏览器已经在自动加载帧,所以您只需要告诉 selenium(以及 webrat)您要查看哪个帧。

When /^I select the "(.*)" frame$/ do |name|
  selenium.select_frame("name=#{name}")
end
于 2010-01-20T18:44:57.627 回答
0

在步骤定义中试试这个:

within_frame("headerid") do 
  assert page.has_content? "login details"
end
于 2010-08-12T15:47:32.593 回答