我怎么总是专注于使用水豚页面

时间:2014-10-15 09:37:25

标签: ruby rspec capybara

我正在测试rspec并使用capybara与表单进行交互。

我运行文件规范时遇到问题如果我没有关注页面我无法提交表单并获得400错误代码,那么如何在fill_in文本框或单击按钮时聚焦页面。

这是错误代码

"status": 400,
"result": {
    "error": "Grabbing app data from app store failed. Please try again."
}

这是我的代码与表单交互

    select_visible(@state, "form label[for='state']+div.field a.chosen-single")
  select_visible(@platform, "form label[for='platform']+div.field a.chosen-single")
  if @appstore_search != nil && @appstore_search != ""
    page.find("#autocomplete_chosen a").click
    page.find("#autocomplete_chosen div.chosen-drop div.chosen-search input[type='text']").set(@appstore_search)
    if page.has_css?("#autocomplete_chosen ul.chosen-results li.active-result")
      page.find("#autocomplete_chosen ul.chosen-results li:nth-child(3)").click
    else
      fill_in('name', :with => @appstore_search)
    end
  else
    fill_in('name', :with => @name)
  end

  click_button 'Save'

  if page.find("form label[for='platform']+div")[:class].include?("field invalid")
    @warning_platform = page.find("form label[for='platform']+div.field.invalid aside.error-message").text
    puts @warning_platform
  end

  if page.find("form label[for='name']+div")[:class].include?("field invalid")
    @warning_name = page.find("form label[for='name']+div.field.invalid aside.error-message").text
    puts @warning_name
  end

  if page.has_css?('#alerts ul li')
    @message = page.find("#alerts ul li").text
    puts @message
  end

请帮我解决这个问题或建议我解决其他问题。

0 个答案:

没有答案