0

Cucumber + Webrat + Mechanize アダプターを使用しており、選択したページに iframe またはフレーム化されたページのコンテンツをテストしたいと考えています。

言い換えると:

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]"

これにより、2 つの質問が残ります。

  1. src 属性を読み取ってそのページに移動する方法
  2. 元のページに戻る方法
4

3 に答える 3

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 に答える
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 に答える