我经常使用 irb 在浏览器上测试黄瓜 watir 网络驱动程序步骤。这涉及打开 irb 并键入相同命令的列表。前几个命令始终是
- 需要"瓦蒂尔网络驱动程序">
- browser = Watir::Browser.new(:chrome(
- b.转到"www.foo.com">
命令列表是这样的。每次我打开 irb 时,我都必须经历所有这些。有没有人知道可以运行一个脚本来自动执行上述命令列表?这样它就会打开 IRB,然后一个接一个地完成命令,为我节省了大量时间。
任何帮助将不胜感激。
可能最简单的方法是在根项目目录(或启动 IRB 的任何位置(创建一个script.rb
文件,并写出您通常运行的 Ruby。然后当你开始IRB时,只需load 'script.rb'
但是,如果您在设置后需要访问browser
变量,这将不起作用。在这种情况下,创建一个类会更有意义。
在./test_browser.rb
require 'watir-webdriver'
require 'irb'
class TestBrowser < Watir::Browser
def self.build
browser = new(:chrome)
browser.goto 'www.foo.com'
# other setup steps
browser # return the browser at the end of the method
end
end
IRB.start
然后从外壳:$ ruby ./test_browser.rb
这将在加载类的情况下启动 IRB。然后你需要做的就是调用.build
方法并将浏览器存储在一个变量中
browser = TestBrowser.build
您可以随时在考虑特定文件的情况下启动irb
:
irb -r./startup.rb
其中./startup.rb
是在打开 REPL 外壳之前要先运行的任何文件的路径。
如果您足够频繁地执行此操作,则很容易为此制作包装器脚本。您还可以在自己构造的自定义脚本中手动调用 IRB,就像rails console
一样。