我正在使用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]"
这给我留下了两个问题:
答案 0 :(得分: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
答案 1 :(得分:0)
你实际上不必这样做。因为您的浏览器已经自动加载了框架,所以您只需要告诉selenium(以及webrat)您要查看哪个框架。
When /^I select the "(.*)" frame$/ do |name|
selenium.select_frame("name=#{name}")
end
答案 2 :(得分:0)
在步骤定义中尝试此操作:
within_frame("headerid") do
assert page.has_content? "login details"
end