Как проверить javascript на capybara

39 views
Skip to first unread message

Dilshod Samatov

unread,
Feb 4, 2012, 9:11:03 AM2/4/12
to ror...@googlegroups.com
Привет, всем!!!

В кукие есть step definition

      When /^я нажму кнопку "([^"]*)"$/ do |create_row|
        click_link(create_row)
      end

      Then /^в таблицу циклов должно добавиться пустая строка с полями вводов$/ do
        #click_link("Добавить")
        find("div#cycle_form table").should have_content(append_row_to_table_tag("day_num", "hour", "hour_night"))
      end

И view
   %div{:id => "cycle_form", :class=>"list_form"}
      = link_to("Добавить",nil,:id=>"create_row_cycle", :onclick=>"$('div#cycle_form table').append('#{append_row_to_table_tag("day_num", "hour", "hour_night")}');return false;", :href=>"")
      %table
        %th День ц
        %th Часа в день
        %th Ночные часа
        %th Кнопка эдит
        %th Кнопка делете
хелпер  append_row_to_table_tag возврашает строку
  "<tr><td>data</td><td>data</td><td>data</td><td>data</td><td>data</td></tr>"

Cucumber падает с ошибкой
        expected there to be content "<tr><td>data</td><td>data</td><td>data</td><td>data</td><td>data</td></tr>" in "День ц Часа в день Ночные часа Кнопка эдит Кнопка делете\ndata data data data data" (RSpec::Expectations::ExpectationNotMetError)

Вопрос: Как мне проверить добавленный элемент страницы javascriptом в capybara?
Что я делаю не так?

Anton Dieterle

unread,
Feb 4, 2012, 11:31:48 AM2/4/12
to ror...@googlegroups.com
А вы прописали тег @javascript перед сценарием?

2012/2/4 Dilshod Samatov <samatov...@gmail.com>:

> --
> --
> Данное сообщение отправлено Вам, так как Вы являетесь подписчиком группы
> "RubyOnRails to russian" на группах Google.
> FAQ группы находится по адресу: http://ru.wikibooks.org/wiki/RubyFAQ
>
> Для того, чтобы отправить сообщение в эту группу, пошлите его по адресу
> ror...@googlegroups.com
> Чтобы отменить подписку на эту группу, отправьте сообщение по адресу:
> ror2ru-un...@googlegroups.com
> Дополнительные варианты находятся на странице группы
> http://groups.google.com/group/ror2ru?hl=ru

Dilshod Samatov

unread,
Feb 4, 2012, 11:41:54 AM2/4/12
to ror...@googlegroups.com
# language: ru
Функционал: Заполнение справочника Графиков работы
          Для того что учитывать отработанный время работников должны имет график работы и этот график должно
          быть заполнена правильными данными(сменами графиков и их датами отсчетов, циклом)
  @javascript
  Сценарий: Создание нового графика работы

Прописано..
any idea?

Как я могу проверить inner_html элемента?

find("div#cycle_form table").should have_content('data')  работает
find("div#cycle_form table").should have_selector('tr') тоже

мне бы хотелось find("div#cycle_form table").should have_content('<tr><td>data</td></tr>') тоже



4 февраля 2012 г. 21:31 пользователь Anton Dieterle <anto...@gmail.com> написал:

Dilshod Samatov

unread,
Feb 4, 2012, 11:56:39 AM2/4/12
to ror...@googlegroups.com
Сделал
find(:xpath,"//div[@id='cycle_form']/table").text.should have_content("<tr><td>data</td></tr>")
и тест прошла.


4 февраля 2012 г. 21:41 пользователь Dilshod Samatov <samatov...@gmail.com> написал:
Reply all
Reply to author
Forward
0 new messages