标签: ruby

如何使用ruby中的Selenium WebDriver(selenium 2.0)客户端设置选项

我试图熟悉新的ruby selenium-webdriver,因为它看起来比以前版本的selenium和随之而来的ruby驱动程序更直观.另外,我无法让旧的selenium在windows中使用ruby 1.9.1,所以我想我会寻找替代方案.到目前为止,我已经用我的脚本完成了这个:

require "selenium-webdriver"

driver = Selenium::WebDriver.for :firefox
driver.get "https://example.com"

element = driver.find_element(:name, 'username')
element.send_keys "mwolfe"
element = driver.find_element(:name, 'password')
element.send_keys "mypass"
driver.find_element(:id, "sign-in-button").click
driver.find_element(:id,"menu-link-my_profile_professional_info").click
driver.find_element(:id,"add_education_btn").click
country_select = driver.find_element(:name, "address_country")
Run Code Online (Sandbox Code Playgroud)

所以基本上我正在登录我的网站,并尝试在我的用户配置文件中添加一个教育条目.我有一个带选项的选择框的引用(在country_select变量中),现在我想选择一个给定值的选项..我没有看到如何在新客户端中执行此操作.我唯一能想到的是循环遍历所有选项,直到找到我想要的那个,然后调用execute_script: http:// selenium. googlecode.com/svn/trunk/docs/api/rb/Selenium/WebDriver/Driver.html#execute_script-class_method 方法设置selectedIndex.

有没有其他方法可以做到这一点?在这里的java api for selenium 2.0/webdriver:http://seleniumhq.org/docs/09_webdriver.html 有一个这样做的例子

Select select = new Select(driver.findElement(By.xpath("//select")));
select.deselectAll();
select.selectByVisibleText("Edam");
Run Code Online (Sandbox Code Playgroud)

除非我遗漏了某些东西,否则ruby版本似乎没有这个功能.任何帮助,将不胜感激.

ruby select selenium-webdriver

31
推荐指数
5
解决办法
9万
查看次数

Ruby:Proc.new {'waffles'} vs proc {'waffles'}

在Ruby中,Proc.new { 'waffles' }和之间有什么区别proc { 'waffles' }吗?我发现很少提到第二种语法.

从测试使用irb,我没有发现任何明显的差异.第一个是第二个语法糖吗?

ruby syntax proc-object

31
推荐指数
1
解决办法
4170
查看次数

使用月,日和年在Rails中创建日期时间

我有params[:month,:day,:year],我需要将它们转换成DateTime我可以放在隐藏输入中的那个.

在Rails 3中执行此操作的最佳方法是什么?

ruby ruby-on-rails-3

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

安装Rails:"找不到文件:lib"

每当我尝试在Ubuntu Server上安装Rails时,都会收到错误,File not found:lib.为什么是这样?

ruby ubuntu ruby-on-rails

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

如何为动态实例变量设置attr_accessor?

我在我的类中动态创建了一个实例变量:

class Mine
  attr_accessor :some_var

  def intialize
    @some_var = true
  end

  def my_number num
    self.instance_variable_set "@my_#{num}", num
  end
end
Run Code Online (Sandbox Code Playgroud)

我@my_#{num}现在如何制作attr值?

例如,我希望能够这样做:

dude = Mine.new
dude.my_number 1
dude.my_1
=> 1
Run Code Online (Sandbox Code Playgroud)

ruby instance-variables attr-accessor attr

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

捆绑安装不适用于capistrano

我想通过它部署我的简单rails 4.0应用程序capistrano 3.0.

我使用bundler 1.3.5所以我添加capistrano-bundler gem来集成bundist与capistrano.

我有非常简单的配置(几乎默认):

set :bundle_gemfile, -> { release_path.join('Gemfile') }
set :bundle_dir, -> { shared_path.join('bundle') }
set :bundle_flags, ''
set :bundle_without, %w{test development}.join(' ')
set :bundle_binstubs, -> { shared_path.join('bin') }
set :bundle_roles, :all
Run Code Online (Sandbox Code Playgroud)

当我运行cap staging deploy --trace它失败时:

[50b524bc] Running /usr/bin/env bundle --gemfile /home/webmaster/www/api/releases/20131014144650/Gemfile --path /home/webmaster/www/api/shared/bundle  --binstubs /home/webmaster/www/api/shared/bin --without test development on 125.51.3.1
DEBUG [50b144bc] Command: cd /home/webmaster/www/api/releases/20131014144650 && /usr/bin/env bundle --gemfile /home/webmaster/www/api/releases/20131014144650/Gemfile --path /home/webmaster/www/api/shared/bundle  --binstubs /home/webmaster/www/api/shared/bin --without test …
Run Code Online (Sandbox Code Playgroud)

ruby deployment capistrano ruby-on-rails bundler

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

application.js找不到jquery.ui.effect-blind

我正在尝试使用gem jquery-rails,但我的application.js文件无法找到必要的文件("找不到文件'jquery.ui.effect-blind'")

我的application.js:

//= require jquery
//= require jquery.ui.effect-blind
//= require jquery_ujs
//= require turbolinks
//= require_tree .
Run Code Online (Sandbox Code Playgroud)

在我的gemfile中,我有:

gem 'jquery-rails', "2.3.0"
gem 'jquery-ui-rails'
Run Code Online (Sandbox Code Playgroud)

我之前已经看过几次这个问题并且大多数人都报告说它是通过使用2.3.0版本的'jquery-rails'来修复的.我已经指定它并使用gem list命令确认它,但是application.js文件仍然无法找到它.我已经尝试过jquery.ui和jquery.ui.all,但这些都给出了同样的错误.

javascript ruby jquery jquery-ui ruby-on-rails

31
推荐指数
2
解决办法
7326
查看次数

Ruby根据属性查找并返回数组中的对象

如果某个属性是正确的,如何遍历一个对象数组并返回整个对象?

我的rails应用程序中有以下内容

array_of_objects.each { |favor| favor.completed == false }

array_of_objects.each { |favor| favor.completed }
Run Code Online (Sandbox Code Playgroud)

但由于某种原因,这两个返回相同的结果!我试图取代each有collect,map,keep_if以及!favor.completed,而不是favor.completed == false和他们没有工作!

任何帮助都非常感谢!

ruby arrays ruby-on-rails

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

为什么安全导航比在Rails中使用try更好?

我正在读这个.使用它有什么好处:

user&.address&.state
Run Code Online (Sandbox Code Playgroud)

过度

user.try(:address).try(:state)
Run Code Online (Sandbox Code Playgroud)

我还是不明白.

ruby ruby-on-rails-4

31
推荐指数
3
解决办法
7880
查看次数

define_method:如何使用参数动态创建方法

我想为find_by功能创建一堆方法.我不想一遍又一遍地写同样的东西所以我想使用元编程.

假设我想创建一个按名称查找的方法,接受名称作为参数.我该怎么办?我以前使用过define_method但是我没有任何关于该方法的参数.这是我的(坏)方法

["name", "brand"].each do |attribute|
    define_method("self.find_by_#{attribute}") do |attr_|
      all.each do |prod|
        return prod if prod.attr_ == attr_
      end
    end
  end
Run Code Online (Sandbox Code Playgroud)

有什么想法吗?提前致谢.

ruby metaprogramming

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