尝试动态创建对象和调用方法
Object.const_get(class_name).new.send(method_name,parameters_array)
Run Code Online (Sandbox Code Playgroud)
这工作正常
Object.const_get(RandomClass).new.send(i_take_arguments,[10.0])
Run Code Online (Sandbox Code Playgroud)
但为2输入错误数量的参数1
Object.const_get(RandomClass).new.send(i_take_multiple_arguments,[25.0,26.0])
Run Code Online (Sandbox Code Playgroud)
定义的随机类是
class RandomClass
def i_am_method_one
puts "I am method 1"
end
def i_take_arguments(a)
puts "the argument passed is #{a}"
end
def i_take_multiple_arguments(b,c)
puts "the arguments passed are #{b} and #{c}"
end
end
Run Code Online (Sandbox Code Playgroud)
有人可以帮助我如何动态地发送多个参数到ruby方法
在 watir 文档(http://watir.com/guides/chrome/)中,已经提到做
Watir::Browser.new :chrome, headless: true
Run Code Online (Sandbox Code Playgroud)
将使我们能够使用无头 chrome
这似乎不起作用。
我收到如下错误
2.4.0 :001 > require 'watir'
=> true
2.4.0 :002 > Watir::Browser.new :chrome, headless: true
ArgumentError: unknown option: {:headless=>true}
from /Users/sandeep.kumar/.rvm/gems/ruby-2.4.0/gems/selenium-webdriver-3.5.1/lib/selenium/webdriver/remote/bridge.rb:86:in `initialize'
from /Users/sandeep.kumar/.rvm/gems/ruby-2.4.0/gems/selenium-webdriver-3.5.1/lib/selenium/webdriver/remote/bridge.rb:53:in `new'
from /Users/sandeep.kumar/.rvm/gems/ruby-2.4.0/gems/selenium-webdriver-3.5.1/lib/selenium/webdriver/remote/bridge.rb:53:in `handshake'
from /Users/sandeep.kumar/.rvm/gems/ruby-2.4.0/gems/selenium-webdriver-3.5.1/lib/selenium/webdriver/chrome/driver.rb:57:in `initialize'
from /Users/sandeep.kumar/.rvm/gems/ruby-2.4.0/gems/selenium-webdriver-3.5.1/lib/selenium/webdriver/common/driver.rb:46:in `new'
from /Users/sandeep.kumar/.rvm/gems/ruby-2.4.0/gems/selenium-webdriver-3.5.1/lib/selenium/webdriver/common/driver.rb:46:in `for'
from /Users/sandeep.kumar/.rvm/gems/ruby-2.4.0/gems/selenium-webdriver-3.5.1/lib/selenium/webdriver.rb:86:in `for'
from /Users/sandeep.kumar/.rvm/gems/ruby-2.4.0/gems/watir-6.3.0/lib/watir/browser.rb:46:in `initialize'
from (irb):2:in `new'
from (irb):2
from /Users/sandeep.kumar/.rvm/rubies/ruby-2.4.0/bin/irb:11:in `<main>'
Run Code Online (Sandbox Code Playgroud)
我拥有的 chrome 版本是 59.0.3071.115
我拥有的 chrome 驱动程序版本是
ChromeDriver 2.20.353124 (035346203162d32c80f1dce587c8154a1efa0c3b
Run Code Online (Sandbox Code Playgroud)
使用
selenium-webdriver 3.4.3
watir 6.7.1 (was 6.3.0)
Run Code Online (Sandbox Code Playgroud)