2010-11-22 53 views
1

我需要为我的工作自动化软件测试,我目前使用groovy来做到这一点。但是,我正在考虑将Ruby添加到我的曲目中。主要是因为我可以看到自己将来在一个铁轨项目上工作。将Ruby作为脚本语言学习需要多长时间?

您认为需要多久才能熟练使用Ruby脚本?我主要谈论的是使用webdriver/webrat浏览DOM,并以编程方式进行文本/文件更改工作。

回答

1

一个周末的激情奉献。

说真的,这是一个问题,你已经掌握了多少时间,以及你以前的经历是什么。如果你涉足Perl或Python,那么与之前刚刚使用过Java相比,你可能会更容易地选择Ruby。

+0

只使用了Java/Groovy。我还学习C++作为我的计算机科学学位(第一年 - 兼职学习)的一部分。 – CBA 2010-11-22 15:00:14

+0

@CB:好的,你知道面向对象编程。这会有所帮助,因为Ruby也是OOP语言的一部分。我没有使用Groovy,但从我看到的,它受Ruby的启发。由于Ruby是一种解释型语言,因此您可以从代码中获得相当快的反馈,这一直在帮助我学习新语言。客观地说出需要多少时间是不可能的,这主要取决于你和你的努力。 – darioo 2010-11-22 15:03:05

+2

“部分”是OO语言? =) – Arkku 2010-11-22 15:05:50

0

由于没有以前的技术经验,我同时开始学习ruby,html,css等,花了我2​​年的时间才找到了一些东西,并知道实际发生了什么。 Rails当然可以使这一切更快,如果您已经了解其他编程语言,您可以在6个月内解决基本问题并且可以正常运行。

1

取决于您对其他编程语言有多少经验。你应该能够在一个下午学习基本的ruby语法。然后,学习测试库可能需要花费几天的时间与他们一起玩。你当然不会成为一名红宝石专家,但你应该能够很快地将一些测试脚本拼凑在一起。

你可以从这里开始 - Ruby in Twenty Minutes

那么也许去这里 - 17 Videos Covering Basic Ruby Techiques

0

Ruby有Nokogiri,这是一个很好的HTML/XML解析器。它同时支持CSS和XPath访问器,使得浏览解析的HTML文件的DOM非常容易。

建立在Nokogiri之上的是Mechanize,它基于Perl的WWW :: Mechanize。它可以轻松浏览网站的页面,提取字段,填写表单并提交表单,跟踪cookie和会话等。由于Mechanize建立在Nokogiri之上,因此您可以获取底层DOM并使用相同的CSS和XPath访问器。

Ruby有几种不同的测试环境。 Test :: Unit附带Ruby,易于使用。还有Autotest,RSpec,Shoulda和黄瓜等几个其他品牌。自动测试很不错,因为它会在您修改文件时监视您的目录并运行测试,因此您可以立即意识到是否会破坏某些内容。

我来自Perl和Java背景的Ruby,以及之前的C/C++。对我而言,Ruby就像是Java和Perl的孩子,因为它与两者都有一些相似之处,但与此同时,这两种语言令人厌烦的事情在Ruby上很好地避开了。这几乎就像Ruby是另外两个人的合乎逻辑的增长或下一代。我认为这部分是后见之明的好处,Matz打算让Ruby成为程序员的语言,而不是机器。

我试着学习Rails并行与Ruby,但抓住Rails从v1更改为v2。所有的书都过时了,错了,大多数网站都是错误的,找到好的信息很难。最终我意识到这个混乱是在文档中,并且从Rails退出了六个月,专注于Ruby,每天在工作中使用它。我开始使用它几乎完全是因为我能比Perl更能简洁地表达想法。我可以在Perl中更简洁地编写代码,但它不可读,这对我很重要,因为这有助于使代码可维护。

现在,几年后,我比任何我用过的语言都更喜欢Ruby。我仍然使用Perl进行编程,但在工作中传播Ruby,并随时使用它,因为Sequel,或者使用Rails,SinatraPadrino,与HAML结合,将网页前端写入数据库,因此我需要编写触摸数据库的内容。

1

如果你有编程经验,我会说2周紧张焦点的红宝石会让你99%的路....红宝石的主要功能区别于其他脚本语言是它的内在使用迭代器(你几乎从不编码或while循环)和相关的代码块。一旦你变得熟悉这些,它的其余部分就落实了。

1

一分钟学习......一生要掌握。

0

取决于您是否使用任何其他脚本语言? Ruby对于一些人来说非常简单。我发现很容易记住大多数常用方法名称。如果你已经和其他语言合作过,那么深度享受这门语言应该不会超过一个星期。如果这是您第一次编程,您需要牢牢掌握面向对象编程,才能真正体会到它。