私はこのシナリオを持っています:
Scenario: If coming from savsale.com directly then the submenu items should open the right items.
Given the 'sales' page
When the user chooses 'women/accessories' from the navigation menu
そしてこのステップ:
When /^the user chooses '(.*?)\/(.*?)' from the navigation menu$/ do |menu,submenu|
begin
evaluate_script(%Q{console.debug('trying to show the menu:');})
command1 = "$('##{menu} ul').attr('style','display:block;visibility:visible');"
evaluate_script(%Q{console.debug("#{command1}");})
evaluate_script(command1)
evaluate_script(%Q{console.debug('first command done.');})
command2 = "$('##{menu}').addClass('sfHover');"
私はセレンウェブドライバーも使用しています:
Capybara::Selenium::Driver.new(app, :browser => :firefox)
javascriptの実行はこのコードに到達しません:
evaluate_script(%Q{console.debug('first command done.');})
Firefoxコンソールでは、これが表示されます。
$('#women ul').attr('style','display:block;visibility:visible');
しかし、これはそうではありません:
first command done.
execute_script(command1)で停止し、タイムアウト例外で失敗すると思います...:
When the user chooses 'women/accessories' from the navigation menu # features/step_definitions/steps.rb:193
Timeout::Error (Timeout::Error)
誰か良い考えがありますか?