小编Tom*_*ghe的帖子

选中框与Capybara有一些选项

如何使用Capybara检查选择框是否将某些值列为选项?它必须与Selenium兼容......

这是我的HTML:

<select id="cars"> 
  <option></option>
  <option value="volvo">Volvo</option>
  <option value="saab">Saab</option>
  <option value="mercedes">Mercedes</option>
  <option value="audi">Audi</option>
</select>
Run Code Online (Sandbox Code Playgroud)

这就是我想要做的:

Then the "cars" field should contain the option "audi"
Run Code Online (Sandbox Code Playgroud)

selenium ruby-on-rails cucumber capybara

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

是否可以让capybara/webdriver启动firefox最小化/不专心?

当黄瓜击中@javascript标签时,是否可以阻止Firefox弹出?过了一会儿,在运行测试时总是会受到干扰而感到沮丧.

如果webdriver是最小化启动Firefox或不专注于它,那将是很好的.

firefox ruby-on-rails webdriver cucumber capybara

5
推荐指数
1
解决办法
1254
查看次数

用黄瓜测试JQuery自动完成ui

我有这个黄瓜sceanario:

When I fill in "End User" with "john"
Then wait
Then wait
When I click "John Doe"
Then show me the page
Run Code Online (Sandbox Code Playgroud)

步骤定义:

Then /^wait$/ do
  sleep 2
end

When /^(?:|I )click "([^"]*)"$/ do |selector|
  find(":contains('#{selector}')").click
end
Run Code Online (Sandbox Code Playgroud)

它通过但它没有选择用户."最终用户"等于"向我显示页面"中的"约翰".

我甚至无法让它在JavaScript控制台中工作.以下代码不会选择任何内容.

$(":contains('John Doe')").last().trigger('click')
# => [<a class=?"ui-corner-all" tabindex=?"-1"...
Run Code Online (Sandbox Code Playgroud)

如何编写自动完成选择脚本?无论是纯粹的javascript还是黄瓜.

jquery-ui cucumber capybara jquery-ui-autocomplete

4
推荐指数
1
解决办法
2976
查看次数

如何在ASP.NET MVC中处理会话数据

假设我想存储language_id会话中调用的变量.我想我可能会做以下事情:

public class CountryController : Controller
{ 
    [WebMethod(EnableSession = true)]  
    [AcceptVerbs(HttpVerbs.Post)]  
    public ActionResultChangelangue(FormCollection form)
    {
        Session["current_language"] = form["languageid"];
        return View();    
    } 
}
Run Code Online (Sandbox Code Playgroud)

但是当我检查会话时,它总是为空.怎么会?我在哪里可以找到有关ASP.NET MVC中处理会话的一些信息?

c# asp.net-mvc session

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

Rails:使用关联时,不会在模型上调用method_missing

我目前的代码:

class Product < ActiveRecord::Base
  belongs_to :category
end

class Category < ActiveRecord::Base
  def method_missing name
    true
  end
end

Category.new.ex_undefined_method          #=> true
Product.last.category.ex_undefined_method #=> NoMethodError: undefined method `ex_undefined_method' for #<ActiveRecord::Associations::BelongsToAssociation:0xc4cd52c>
Run Code Online (Sandbox Code Playgroud)

这是因为rails中的这个代码只传递模型中存在的方法.

private
def method_missing(method, *args)
  if load_target
    if @target.respond_to?(method)
      if block_given?
        @target.send(method, *args)  { |*block_args| yield(*block_args) }
      else
        @target.send(method, *args)
      end
    else
      super
    end
  end
end
Run Code Online (Sandbox Code Playgroud)

这就是我要的:

Product.last.category.ex_undefined_method #=> true
Run Code Online (Sandbox Code Playgroud)

我怎么能做到这一点?

ruby-on-rails associations method-missing belongs-to

2
推荐指数
1
解决办法
2398
查看次数