我需要为我的工作自动化软件测试,我目前使用groovy来做这件事。但是,我正在考虑将Ruby添加到我的保留曲目中。主要是因为我可以看到自己将来在轨道项目上工作。
您认为使用Ruby编写相对熟练的脚本需要多长时间?我说的主要是使用webdriver / webrat浏览DOM并以编程方式进行文本/文件更改工作。
答案 0 :(得分:1)
一个充满热情的周末。
说真的,这是你掌握了多少时间以及你以前的经历。如果你已经涉足过Perl或Python,你可能比以前使用Java更容易获得Ruby。
答案 1 :(得分:1)
取决于您使用其他编程语言的经验。你应该能够在下午学习基本的ruby语法。然后,学习测试库的工作可能需要花费几天的时间来玩它们。你当然不会成为一名红宝石专家,但你应该能够很快地将一些测试脚本放在一起。
你可以从这里开始 - Ruby in Twenty Minutes
然后可能会去这里 - 17 Videos Covering Basic Ruby Techiques
答案 2 :(得分:1)
如果你有编程经验,我会说2周的重点关注ruby会让你99%的方式....红宝石的主要特点是区别于其他脚本语言是它的迭代器的内在使用(你几乎永远不会代码或while循环)和相关的代码块。一旦你熟悉这些,其余部分就会落实到位。
答案 3 :(得分:1)
学习一分钟......掌握一生。
答案 4 :(得分:0)
由于没有以前的技术经验,我开始同时学习ruby,html,css等,我花了两年时间才能得到一些东西并知道实际发生了什么。 Rails当然会让所有这些变得更快,如果您已经了解其他编程语言,您可以解决基础知识并在6个月内正常运行。
答案 5 :(得分: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和Cucumber等等。自动测试很不错,因为它会在您修改文件时观察您的目录并运行测试,因此您可以立即知道是否有任何损坏。
我从Perl和Java背景来到Ruby,之前使用的是C / C ++。对我来说,Ruby就像Java和Perl的孩子一样,因为它与两者有一些相似之处,但与此同时,对这两种语言都很烦人的东西很好地回避了Ruby。这几乎就像Ruby是其他两个的逻辑增长或下一代。我认为这部分是后见之明的好处,而且Matz打算让Ruby成为程序员而不是机器的语言。
我尝试与Ruby并行学习Rails,但是当它从v1变为v2时抓住了Rails。所有的书都是过时和错误的,大多数网站都是错的,找到好的信息很难。最终我意识到混淆在文档中并且从Rails中退出了六个月并且集中在Ruby上,每天在工作中使用它。我开始几乎完全使用它,因为我能够比Perl更简洁地表达它的想法。我可以在Perl中更简洁地编写,但它不具有可读性,这对我来说很重要,因为这有助于使代码可维护。
现在,几年后,我更喜欢Ruby而不是我用过的任何语言。我仍然在Perl中编程但是在工作中传播Ruby,并且在我需要编写触及数据库的东西时使用它,因为Sequel,或者使用Rails将Web前端写入数据库, Sinatra或Padrino,加上HAML。
答案 6 :(得分:0)
取决于,您使用的是其他任何脚本语言吗? Ruby对某些人来说非常简单。我发现很容易记住大多数常用的方法名称。如果您已经与其他语言合作过,那么深度享受这种语言不应该超过一周。如果这是你第一次编程,你需要对面向对象编程有一个很好的把握才能真正体会到它。