小编Eri*_* M.的帖子

如何使用Capybara确认javascript弹出窗口?

我在网上尝试了几个例子,但没有运气.我期待确认删除链接的确认消息.最后一次尝试是下面的代码,但是导致了Capybara :: NotSupportedByDriverError错误.

def confirm_dialog
  page.evaluate_script('window.confirm = function() { return true; }')
end
Run Code Online (Sandbox Code Playgroud)

testing ruby-on-rails capybara

67
推荐指数
6
解决办法
4万
查看次数

如何使用Capybara和ChromeDriver模拟输入字段中的输入?

我有以下帮助方法将字符串输入到输入字段并按Enter键,但似乎从未按下回车键.我看到字符串输入到输入字段中,但是在命中输入时发生的事件从未发生过.

我在实际的浏览器中测试过,输入键正确地触发了预期的事件.我不确定我错过了什么.

def fill_and_trigger_enter_keypress(selector, value)
  page.execute_script %Q(
                          var input = $('#{selector}');
                          input.val('#{value}');
                          input.trigger("keypress", [13]);
                         )
end
Run Code Online (Sandbox Code Playgroud)

编辑:

我也试过以下无济于事:

find('#q_name').native.send_keys(:return)
find('#q_name').native.send_keys(:enter)
Run Code Online (Sandbox Code Playgroud)

它们不会导致任何错误,但仍然没有按下回车键.

javascript jquery ruby-on-rails capybara selenium-chromedriver

57
推荐指数
4
解决办法
3万
查看次数

Cucumber Capybara滚动到页面底部

我想使用我的Cucumber/Capybara设置通过驱动浏览器并滚动到页面底部来测试无限滚动,以确保加载新内容.有没有办法做到这一点?

cucumber capybara

32
推荐指数
2
解决办法
2万
查看次数

Rails Routes - 限制资源的可用格式

我有一系列资源,只有通过JS格式访问才能使用.Rails的路由资源为我提供了格式和标准HTML.有没有办法指定只创建JS格式的路由?

routing routes ruby-on-rails

26
推荐指数
3
解决办法
2万
查看次数

如何将一组提交从主服务器移动到单独的分支?

我有一系列提交(20+)属于我想要从我们的主分支和一个单独的分支中删除的特定功能.

rel_2009_07_18在提交上有一个tag()代表我们最新的稳定版本,所以当在master上时,git log rel_2009_07_18..HEAD获取了我想要移动到一个单独分支的提交集.此集中还有一些提交应该保留,但我可以选择那些因为它们很少的提交.

我看过git filter-branch,但是commit选项提到了保留更改但是删除了提交 - 绝对不希望这样.我也看了git rebase,但是也提到了将提交重新应用到上游分支.

是否有一个很好的选择将这些提交移动到一个单独的分支?

我不确定这是否是一个可行的选择以及在分布式(虽然很小)(3个开发人员)环境中的影响.但我可以执行以下小转变......

  1. 在本地将主分支重命名为master_plus_feature(或类似的......)
  2. 从`rel_2009_07_18`标签结账
  3. 从这一点创建一个新的分支主数据
  4. 删除远程分支并从本地重新推送

想法和建议?谢谢!

git

25
推荐指数
2
解决办法
6783
查看次数

如何在我的规范中正确冻结Timecop的时间?

我试图使用Timecop和查询arel where_sql到数据的组合,但我似乎无法让Timecop实际冻结时间.我已经尝试过Timecop.freeze和Timecop.freeze(Time.now),在我的规范中使用Time.now时,两者都略有偏差.

我错过了什么?Ruby 1.9.2,Rails 3.1.0.rc5

-

错误

Failure/Error: Game.unreleased.arel.where_sql.should eq("WHERE (release_date > '#{Time.now}')")


     expected "WHERE (release_date > '0000-01-01 00:00:00 -0500')"
     got "WHERE (release_date > '0000-01-01 05:00:00.000000')"
Run Code Online (Sandbox Code Playgroud)

模型

scope :unreleased, lambda { |limit = 4| where('release_date > ?', Time.now).
                                        order('release_date asc').
                                        limit(limit) }
Run Code Online (Sandbox Code Playgroud)

规范

it "should retrieve games with a release date later than today" do
  Timecop.freeze
  Game.unreleased.arel.where_sql.should eq("WHERE (release_date > '#{Time.now}')")
end
Run Code Online (Sandbox Code Playgroud)

testing rspec ruby-on-rails ruby-on-rails-3

16
推荐指数
2
解决办法
2万
查看次数

RSpec:测试rescue_from

我怎样才能测试rescue_from是RSpec?我想确保如果引发一个例外,控制器正确设置闪存并进行重定向.有没有办法模拟异常?

  rescue_from PageAccessDenied do
    flash[:alert] = "You do not have the necessary roles to access this page"
    redirect_to root_url
  end

  rescue_from CanCan::AccessDenied do |exception|
    flash[:alert] = exception.message
    redirect_to root_url
  end
Run Code Online (Sandbox Code Playgroud)

testing rspec

15
推荐指数
1
解决办法
7407
查看次数

Rspec测试布局

如何测试RSpec中是否使用了特定布局?我已经尝试过template.layout,response.layout和response.should render_template("layout")而没有运气.

testing layout rspec

14
推荐指数
3
解决办法
5983
查看次数

如何使用simple_form在错误输入中添加"错误"类?

我需要在呈现表单时向输入/ textarea/etc添加一个类,并且该字段有错误.

<input type="text" class="custom-error-class" />
Run Code Online (Sandbox Code Playgroud)

是否有一种简单的方法可以附加到SimpleForm的CSS类列表中,但只有在字段的相应对象出错时?

ruby-on-rails simple-form

14
推荐指数
2
解决办法
4678
查看次数

如何让vim仅在活动缓冲区上突出显示当前行?

我在我的vimrc中设置了cursorline.有没有办法让vim只突出显示活动缓冲区中的当前行而不是所有缓冲区?

vim

12
推荐指数
2
解决办法
1373
查看次数