использование Cucumber с Netzke для вызова действия в Grid Panel - PullRequest
0 голосов
/ 02 марта 2012

Я работаю над Rails (3.1.3) с Netzke (0.7.3).

Я очень новый для огурца.

add_account_for_user.feature

Feature: Add Account For User Feature
In order to add login account
As an Administrator
I want to add login account for other role

Scenario: Adding Login Account
  When I login as an Administrator
  Then I should be on admin page

  When I click on 'Administration' button at right upper of page
  Then I should see 'Administrator Management'
  And I should see 'Add' button in Administrator Management toolbar

  When I click on 'Add' button
  Then I wait 10 seconds # for check what happen

Проблема в When I click on 'Add' button шаге. Это проходит, но не работает правильно. (Должно сработать событие onAddInForm) Он висит в загрузке и не показывает новую панель окон.

my_steps.rb

Then /^(?:|I )click on '(\w*)'(?:|.*)$/ do |label|
  click_link_or_button(label)
  step "wait for the response from sever"
end

When /^(?:|I )wait for (?:.*)$/ do
  page.driver.browser.execute_script(<<-JS)
  JS
end

1 Ответ

0 голосов
/ 05 марта 2012

Найдено решение !!

Решение состоит в том, чтобы попытаться собрать компонент, который вы используете.а затем вызвать это действие напрямую.

When /I press 'Add' button in the '(\w*)' grid$/ do |grid_name|
  page.driver.browser.execute_script <<-JS
    var containerComp = Ext.getCmp("main_container");   
    var grid = containerComp.down("#"+"#{grid_name.underscore}_grid");
    grid.onAddInForm();
  JS
end

Но я до сих пор не понимаю, почему оно не вызывает onAddInForm после щелчка.

...