草庐IT

with_watir_window

全部标签

ruby - 导轨 3 : method delegations with nil relationships

给定以下(大大简化的)对象:classPlayer:player,:prefix=>:playerend我需要在多个View中显示玩家名称。但是Player可能为nil是完全有效的(并且是预期的)。我目前通过以下方法处理此问题:classCharacter我不喜欢这个有几个原因。有更好的方法吗? 最佳答案 如果您主要处理与View相关的代码,您可能会发现在delegate调用中将“or”与allow_nil:true结合使用感觉很自然:Name:您可能会考虑的另一个有趣的模式是nullobjectpattern;使用此模式,您可以使

ruby - 应该 validate_format_of 。 not_with 在框架中有问题(或者在我的理解中)

我将以下代码放入RSpec测试中:it{shouldvalidate_format_of(:email).not_with('test@test')}并设置实际的类:validates:email,:presence=>true,:format=>/\b[A-Z0-9._%-]+@(?:[A-Z0-9-]+\.)+[A-Z]{2,4}\b/i当我运行测试时,我得到:失败:1)用户失败/错误:它{应该validate_format_of(:email).not_with('test@test')}当电子邮件设置为“test@test”时,预期错误包括“can'tbeblank”,得到错误

ruby - Rails map_with_index?

我有以下内容::participants=>item.item_participations.map{|item|{:item_image=>item.user.profile_pic.url(:small)}}我希望这种情况在内部发生的次数不超过3次。我试过map_with_index但没有用。关于在循环中最多运行3次后如何中断的任何建议? 最佳答案 从Ruby1.9开始,您可以使用map.with_index::participants=>item.item_participations.map.with_index{|item

ruby - 从网站保存图像(使用 watir)

如何使用watir保存网站图片,而不用open-uri或类似工具重新加载它们?我:我不能用的原因File.open(file_name,'wb')do|f|f.writeopen(img.src).readend#fileopen图像是在当前(登录)session中生成的,并且只生成一次,因此“外部”第二次访问是不可能的。二:browser.images.save()-仅适用于ie-也没有帮助,它会打开保存对话框。所以它对自动化毫无用处。示例:http://wiki.openqa.org/display/WTR/Save+All+Images+on+a+Webpagerequire'w

ruby - Watir Webdriver 的页面或对象大小

有什么方法可以使用WatirWebdriver从浏览器获取页面大小(以字节为单位)?我需要为每一页记录它(我对总和感兴趣,而不是每个对象的细节),因此保存到文件并获取文件大小不是合适的方法。我可以使用不同的浏览器,但我更喜欢Firefox, 最佳答案 这个“http://watirwebdriver.com/page-performance/”只能在chrome中使用,但是分组内存似乎有你想要的,安装并要求'watir-webdriver-performance' 关于ruby-Wati

ruby - 绕过 Element 的方法无法滚动到 View 中 - Watir-webdriver with Ruby

因此,我们的页面中有以下代码:OnOff这是2个单选按钮。'开和关'。“关闭”是默认值。使用Watir-webdriver和Ruby,我们想要选择“打开”单选按钮。我们这样做:browser.radio(:id=>"HasRegistration_true").set但在这样做时,我们得到以下错误:`WebElement.clickElement':Elementcannotbescrolledintoview:[objectHTMLInputElement](Selenium::WebDriver::Error::MoveTargetOutOfBoundsError)我们知道Sele

ruby - 在 linux 和 windows 中独立分发 ruby​​ 应用程序

我在1.9.1版上开发了ruby​​应用程序(桌面应用程序),几乎没有gems(qtbindings)。现在我想将我的应用程序作为独立的用户分发。我也想在linux中作为独立的应用程序分发我的应用程序。完成这项工作的最佳gem/脚本是什么。 最佳答案 看看thislink其中提供了几个选项来将Ruby脚本作为“native”可执行文件分发。请记住,Linux用户通常不需要这个,bundleinstall和rubymyscript.rb在这些系统上就足够了。 关于ruby-在linux和w

ruby - 在 Windows 8 : Unable to execute file C:\Program Files(x86)\Heroku\ruby-1. 9.3\bin\gem.bat 上安装 heroku toolbelt 时出错

我想安装herokutoolbelt。我选择完全安装。安装时出现此错误。安装完成后herokulogin不起作用。 最佳答案 试试这个:Followthislink无论它是否与在Windows7上运行游戏有关,请在您的Windows8上尝试这个。如果它有效,请告诉我们。 关于ruby-在Windows8:UnabletoexecutefileC:\ProgramFiles(x86)\Heroku\ruby-1.9.3\bin\gem.bat上安装herokutoolbelt时出错,我们在

ruby - Stub ActiveRecord::Relation with ActiveRecord 对象

我不是在测试Rails应用程序。只是解决这个问题。我正在测试一个连接到相对活跃的服务器的库,按时间戳限制记录。这些返回的记录随着时间​​的推移而变化,使得测试其他限制变得更加复杂。我需要stubActiveRecord::where方法来返回我自己与我创建的对象的自定义关系,以满足我需要的标准。有点像relation=double(ActiveRecord::Relation)relation.stub(:[]).and_return([MyClass.new(...),MyClass.new(...),...])MyClass.stub(:where).and_return(rela

ruby-on-rails - 葡萄 : required params with grape-entity

我正在用grape编写一个API服务器,我选择使用grape-entity因为它能够自动生成swagger的文档。但是现在我在按要求设置参数时遇到了问题。因为葡萄不验证参数是否存在。看起来grape忽略了实体参数的required:true。app.rbmoduleSmartmoduleVersion1classAppos_entity.rbmoduleSmartmoduleEntitiesclassOSEntityapp_entity.rbmoduleSmartmoduleEntitiesclassAppEntity现在其他一切都很好,但我不知道如何以DRY方式使用实体,并让grap