0

メールの本文をテストしたいと思います。

3iフレームの深さにあるFCKエディターを使用します。

<...name="fancybox-frame"...>
    <iframe>
        <iframe>
             <body>H E R E  I S  W H A T   I   W A N T  T O   A C C E S S</body>
        </iframe>
    </iframe>
</[fancybox-frame]>

あいまいさの面白さは別として、フレーム内を複数回使用するにはどうすればよいですか。

私がこれを使うなら...

within_frame('fancybox-frame') do
fill_in('frm_subject', :with => eventname + ' email')
within_frame('iframe[id="frm_message___Frame"]') do
  within_frame('iframe') do
    fill_in('body', :with => 'Event email for ' + now.to_s)
  end
end

終わり

私はこれを手に入れます...

      switchFrame execution failed;
   INVALID_EXPRESSION_ERR: DOM XPath Exception 51 (Selenium::WebDriver::Erro
r::WebDriverError)
  ./features/step_definitions/RCST08_steps.rb:96:in `block (2 levels) in <to
p (required)>'
  ./features/step_definitions/RCST08_steps.rb:94:in `/^select a message to s
end\.$/'
  features\RCST08.feature:26:in `And select a message to send.'

何か案は?

4

1 に答える 1

2

Selenium は、フレーム (<IFRAME> または <FRAME>) に「切り替える」まで、フレーム内の何もアドレス指定できません。Ruby バインディングでは、それが行われwithin_frame(...) do ... endます。あなたは、自分がなりたい場所から 1 フレーム外れているようです。次のようなものが必要です。

within_frame('fancybox-frame') do
  fill_in('frm_subject', :with => eventname + ' email')
  within_frame('iframe[id="frm_message___Frame"]') do
    within_frame('...name of outer iframe...') do
      within_frame('...name of inner iframe...') do
        fill_in('body', :with => 'Event email for ' + now.to_s)
      end
    end
  end
end
于 2012-12-11T22:11:31.240 に答える