首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用Capybara、Rails、MiniTest规范实现MiniTest数据采集

如何使用Capybara、Rails、MiniTest规范实现MiniTest数据采集
EN

Stack Overflow用户
提问于 2013-04-17 02:28:38
回答 6查看 12.5K关注 0票数 20

我有一个form_tag,它生成以下HTML:

代码语言:javascript
复制
<form accept-charset="UTF-8" action="http://www.example.com/product_page" id="dates_form" method="get"><div style="margin:0;padding:0;display:inline"><input name="utf8" type="hidden" value="&#x2713;" /></div>
  Min date: <input id="datepicker_mini" name="datepicker_mini" type="text" />
  Max date: <input id="datepicker_maxi" name="datepicker_maxi" type="text" />
</form>

以上是所有生成的HTML。为了尽可能轻松地调试这个问题,我删除了任何部分和布局。

datepicker字段调用。

我希望避免使用javascript进行测试,只需在日期字段中填写文本日期。我已经尝试过fill_in "datepicker_mini", :with => "01/01/2010",但是虽然它不会导致测试失败,但是当我使用save_and_open_page进行测试时,它也不会填充这个字段。

更新:测试代码

代码语言:javascript
复制
it "runs report" do
  login_test_user
  within("#dates_form") do
    fill_in "datepicker_mini", :with => "01/01/2010"
    fill_in "datepicker_maxi", :with => "01/01/2020"
  end
  save_and_open_page
end

任何帮助都将不胜感激。

谢谢。

EN

回答 6

Stack Overflow用户

发布于 2013-09-15 02:27:26

我也有同样的问题。在阅读了capybara的文档之后,我的解决方案是使用page.execute_script()直接为输入设置一个值。

代码语言:javascript
复制
## fill_in "person_birthdate, with: "21/12/1980"
page.execute_script("$('#person_birthdate').val('21/12/1980')")

我觉得这有点肮脏,但为我工作。

抓到:

  • 我用过硒驱动器。
  • 我用js: true运行这个示例
  • 我用了一个叫做斑马的插件来生成数据夹,但是原理是一样的。

编辑:这也适用于政治作家。

票数 28
EN

Stack Overflow用户

发布于 2014-07-24 17:16:46

我喜欢这样的解决方案:

代码语言:javascript
复制
page.execute_script("$('#show_sale_date').datepicker('setDate', '01/01/2010')")

从这里拿来的http://api.jqueryui.com/datepicker/#method-setDate

票数 9
EN

Stack Overflow用户

发布于 2016-04-29 15:47:53

如果您想模拟UI单击,这对我来说是有效的(使用javascript驱动程序)。

当我的数据报警器的ID是“target_date”时,它将导航到下个月,然后选择第15位。

代码语言:javascript
复制
page.execute_script %Q{ $('#target_date').trigger('focus') }
page.execute_script %Q{ $('a.ui-datepicker-next').trigger('click') }
page.execute_script %Q{ $('a.ui-state-default:contains("15")').trigger('click') }
票数 7
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/16050414

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档