Ruby
文章平均质量分 52
shandong_chu
这个作者很懒,什么都没留下…
展开
-
Ruby on Rails(ROR)——rake routes
本文主要说明rake routes的使用方法。1、通过CMD进入到工程目录下,然后输入rake routes,将会显示该工程所有的route2、在view文件中可以跳转到需要的界面例如:link_to:为跳转页面"My Blog": 为超链接显示的名字posts_path:即需要跳转的route,然后添加_path网页代码显示为:href="/posts">原创 2013-12-17 17:56:48 · 2599 阅读 · 0 评论 -
watir——上传文件
本文主要是利用watir自身写好的方法来实现文件上传。upload.rbrequire 'watir' @ie = Watir::IE.new @ie.goto("D:\\test.html")sleep(10)@ie.file_field(:type,'file').set("D:\\test.html")sleep(3)test.html原创 2011-11-23 15:50:00 · 1484 阅读 · 0 评论 -
watir测试报告(二)
#本文主要是生成测试报告的格式, 可以根据各自的需要进行修改。class HTMLReport # Initialize the report class def initialize() @overallResult = 'PASS' @reportContent1 = '' @reportContent2 = '' @start_ti原创 2011-11-21 14:29:04 · 979 阅读 · 0 评论 -
watir测试报告(一)
本文讲述的是利用watir来生成html报告。其一: 使用test/unit, 这样结构上看其里比较清晰。其二: 订制html样式, 这样每次只要套用就可以了。 其三: 本文尚有不足之处。 需不断修改, 以为己用。require 'test/unit'require 'watir'require 'html.class'class Google_se原创 2011-11-18 16:05:07 · 1371 阅读 · 0 评论 -
代替Watir中click_no_wait的方法——left_click
1. 下面这个方法比click_no_wait好使, 而且click_no_wait不知道为什么总提示错误, 可能是版本的问题。2. 利用下面这个方法时, 如果不能弹出对话框也可能是版本的问题。不过还有有办法来解决的。具体如下: 使用下面的代码也取代 left_click中的WindowsInput.left_click。 #M0USEEVENTF_LEFTDOWN = 2转载 2011-10-28 12:53:13 · 1328 阅读 · 0 评论 -
Ruby使用Win32API来操作鼠标
# Win32API应该可以被多种开发语言所调用, 主要用来操作MS的。class Cursor M0USEEVENTF_LEFTDOWN = 2 # 鼠标左键按下键值 MOUSEEVENTF_LEFTUP = 4 # 鼠标左键松开键值 MOUSEEVENTF_RIGHTDOWN = 0x0008 #右键原创 2011-10-28 12:47:50 · 2966 阅读 · 0 评论 -
watir + autoit3
1.在autoit的安装目录下有个Au3Info.exe文件,该文件可以查看windows控件的信息,包括控件ID,类别名,高级模式,控件点击坐标等 用途是在操作控件函数的参数查询,如:ControlClick ( "标题", "文本", 控件ID [, 按钮 [, 点击转载 2011-10-19 15:57:03 · 2088 阅读 · 0 评论 -
Ruby+Watir安装
安装准备:1. 工具安装包准备:Ruby官方下载地址:http://www.ruby-lang.org/zh_cn/downloads/,稳定版本Ruby 1.8.6 或者1.8.7Watir下载地址:http://rubyforge.org/frs/?group_id=104&release_id=28016,建议装watir 1.5.2Firefox下载地原创 2011-10-20 15:54:02 · 2195 阅读 · 2 评论 -
Ruby+Watir经验谈: Understanding Watir
使用Watire,主要通过是使用Watir::IE的一个实例来获得页面上的各种元素,比如button,link...,然后你可以对这些元素进行操作,比如点击一个button,点击一个link... ie = IE.new ie.goto("ht转载 2011-10-19 10:50:21 · 1618 阅读 · 0 评论 -
Watir2.0.1之——屏幕截图
现在实现的功能是ruby的截图模块。主要是通过win32screenshot gem来完成的。首先是安装:win32screenshothttp://rubygems.org/gems/win32screenshotgem install win32scree原创 2011-09-14 16:11:32 · 1055 阅读 · 0 评论 -
Watir2.0.1之——简介及实例
Watir全称是“Web Application Testing in Ruby”,发音类似“water”。它是一种基于网页模式的自动化功能测试工具。Watir能做什么?Watir是一个Ruby库,使用IE浏览器进行Web应用程序测试。 Watir可以使用I原创 2011-09-09 11:24:31 · 1160 阅读 · 0 评论 -
Ruby1.9.2之——生成HTML文件
利用ruby 生成HTML文件, 首先创建HTML文件, 然后向其输入标签及所需内容。#创建文件fileHtml = File.new("test_html.html","w+")#输入格式标签fileHtml.puts ""#输入所需内容转载 2011-09-08 10:27:50 · 1565 阅读 · 0 评论 -
Ruby1.9.2之——关联Excel
这算是一个通用模块吧,excel.rb require 'win32ole' // 引用gem module Excel //模块名字 class WorkBook //类名, 工作薄 #xlEdge原创 2011-09-06 16:38:49 · 776 阅读 · 0 评论 -
Ruby1.9.2之——Require
貌似在Ruby进入1.9之后有了很多的变化, 有幸用到了Require, 发现了一些新的change.E.G 在c:/下有两个文件:a.rb b.rb, 现在希望在a.rb中引用b.rb, 那么一般来说可以在a.rb中这么写:require 'b' 或者 req原创 2011-09-05 13:54:08 · 1141 阅读 · 0 评论 -
一个关于radrails的问题
<br />嗨, 请问哪儿位大侠加过下面这个问题:<br /> <br />Preconditions:<br />1. eclipse_3.5.2 and radrails是最新的, <br /> <br />Steps: 创建一个新的工程test时, 有如下提示:<br /> <br />1, 'Replace project index file' has encountered a problem.Resource '/test/public' d原创 2011-04-08 17:45:00 · 1443 阅读 · 3 评论 -
ruby之——安装gem提示:Please update your PATH to include build tools or download the DevKit
在安装ruby 的gem的时候可能会出现下面这样的提示, 按照给出的提示有两种办法可以解决, 但是经过在网上的搜索发现只有最后一种可行。 所以特分享于此。ERROR: Error installing XXXXXXXXXXX: The 'XXXXXXXXXXXX' native gem requires installed build tools.原创 2011-12-08 10:36:18 · 12708 阅读 · 3 评论 -
Selenium-Webdriver系列教程(一)————快速开始
嗨, 从今起研究下Selenium-Webdriver, 至于它的作用就不赘述了, 还是直接切题。安装selenium webdriver 1. 安装ruby1.8.7或1.9.2。注意selenium-webdriver只支持1.8.7以上的ruby版本。 最好是1.8.7, 其支持watir1.6.5比较好 2. 使用gem安装selenium-webdri转载 2011-12-08 11:01:52 · 3865 阅读 · 1 评论 -
Selenium-Webdriver系列教程(2)———浏览器的简单操作
如何打开一个测试浏览器做自动化测试一般情况下我们都需要首先打开测试浏览器,浏览器开启后我们方可"命令"浏览器去打开新页面,点击特定的链接,判断具体的逻辑等等。因此该操作为"万里长征的第一步",必须给以重视。具体代码如下。需要注意的是如果使用chrome进行测试,那么必须下载安装chrome driver。require 'rubygems'require 'selenium-web转载 2011-12-08 16:09:34 · 2341 阅读 · 0 评论 -
Rails 4.0项目之——blog
本文主要根据网络文章来使用rails 4.0来创建blog工程,详情请参考下面的文章, 参考文章:http://guides.ruby-china.org/getting_started.html以下为完成后的代码routes.rb: resources :posts do resources :comments enddb/schemaAct原创 2013-08-02 17:26:38 · 1473 阅读 · 0 评论 -
拥抱 Rails 4 —— 详述 Rails 4 的新变化
Gist DetailRevisions22 Stars102 Forks21 Download GistClone this gistEmbed this gistLink to this gistChanges in Rails 4_1.mdMarkdownFile suppre转载 2013-07-31 13:56:44 · 8323 阅读 · 0 评论 -
Rails 4.0 新特性
本文主要参考[官方release notes](https://github.com/rails/rails/blob/master/guides/source/4_0_release_notes.md ), [官方commits](https://github.com/rails/rails/commits/master )##Rails 4.0主要更新* Ruby 1.9.3转载 2013-07-31 13:41:28 · 1433 阅读 · 0 评论 -
No more attr_accessible in Ruby on Rails 4
In a file called list.rb, I had attr_accessible :title, :user_id, :updated_at, :created_at When you run the tests using 'edge' Rails (4.0.0 beta), you get an error like this: "`attr_accessible`转载 2013-07-31 11:28:15 · 1532 阅读 · 0 评论 -
Ruby on Rails(ROR)——使用sqlite3数据库
本文主要讲解在ROR中如何使用sqlite3.首先,使用rails new myproject创建工程后,在myproject/config目录下有database.yml,其默认使用的是sqlite3.如下:development: adapter: sqlite3 database: db/development.sqlite3 pool: 5 time原创 2013-06-21 16:33:00 · 3793 阅读 · 0 评论 -
Ruby on Rails(ROR)——提高rails new时bundle install运行速度
最近在新建rails项目时,rails new老是卡在bundle install那里,少则五分钟,多则几十分。这是因为rails new时自动会运行bundle install,而bundle install会自动去rubygems.org查找是否有更新。但需要的gems我早安装好了,且不用更新,所以上面步骤就可省了。强烈建议rails党委取消rails new时自动查找gems更新功能转载 2013-06-09 17:14:45 · 1256 阅读 · 0 评论 -
Selenium-webdriver系列教程(9)——如何操作select下拉框
在selenium-webdriver中定位select list的方法比较简单,用id和name等属性可以很方便的将select给找出来,但是怎么去选择下拉框中的某一项呢?思路是这样的,首先定位到select list元素,然后找出该select list下所有的option,点击该option element既可,以下面的html代码为例转载 2012-06-26 14:17:29 · 2183 阅读 · 0 评论 -
Selenium-webdriver系列教程(10)——如何智能的等待页面加载完成
web的自动化测试中,我们经常会遇到这样一种情况:点击1个按钮,页面上会弹出1个iframe,这时候脚本就需要去等待iframe加载完毕才能进行后续的操作。在这种情况下,我们一般的处理思路是等待被等待对象上的某个子元素出现,当这个子元素出现时我们就认为该对象已经加载完毕,代码可以继续往下执行了。selenium-webdriver为我们提供了一个Wait类来完成类似的等待功能。下面的h转载 2012-06-26 14:38:11 · 6473 阅读 · 0 评论 -
Ruby解决方案:The 'ffi' native gem requires installed build tools ; 含最新DevKit下载地址
如果安装的时候出现:C:\Users\liyingxuan01>gem install watirERROR: Error installing watir: The 'ffi' native gem requires installed build tools.Please update your PATH to include build tools or do转载 2012-06-07 17:08:27 · 1935 阅读 · 0 评论 -
Selenium-webdriver系列教程(7)———如何处理alert和confirm
当使用watir 1.6x 的时候, 处理页面javascript弹出的alert和confrim窗口时必须借助AutoIT工具来辅助执行,非常麻烦, 而且安全性不好。但在selenium webdriver中,confirm和alert的处理再也不需要借助任何第三方工具了, 而且非常方便。下面的html页面上有1个名为click的button,点击该button后就会弹出1个转载 2012-01-11 17:57:05 · 6158 阅读 · 0 评论 -
Selenium-webdriver系列教程(3)———如何执行一段js脚本
有时候在进行自动化测试时需要在页面上执行一段js脚本,这个时候就需要用到execute_script方法了。#下面的代码打开了SoSo的首页,并高亮显示了id为"tb"的divrequire 'rubygems'require 'selenium-webdriver'dr = Selenium::WebDriver.for :firefoxurl = 'http://www.s原创 2011-12-15 17:07:53 · 1845 阅读 · 0 评论 -
Selenium-webdriver系列教程(5)———如何定位frame中的元素
在web ui自动化测试中,frame一直是令人头痛的问题,就像上班必须挤公车坐地铁一般,frame的问题总是令人气闷纠结为之黯然神伤。以前在使用watir 1.6x的时候,frame也是颇为棘手的一个问题。不但要照本宣科的进行一系列的设置,而且在进行实际代码编写的过程中会遇到各种奇奇怪怪的问题。frame就像中国男足的后防线,问题多多难以解决。selenium webdriver处理fr转载 2011-12-22 10:08:15 · 2893 阅读 · 0 评论 -
Selenium-webdriver系列教程(6)———如何捕获弹出窗口
在web自动化测试中点击一个链接然后弹出新窗口是比较司空见惯的事情。webdriver中处理弹出窗口跟处理frame差不多,以下面的html代码为例window.html Popup Window <a id ="soso" href = "http://www.soso.com/"target = "_b转载 2011-12-22 11:15:53 · 8181 阅读 · 0 评论 -
Selenium-webdriver系列教程(4)——如何定位测试元素
测试对象定位一般都是各种web自动化测试框架或工具的核心内容。selenium-Webdriver的对象定位方法非常的丰富和强大。一般来说强大的对象定位都会提供如下的一些方法。单个对象的定位方法多个对象的定位方法层级定位selenium-Webdriver很好的支持了上述的3种定位方式。定位单个对象在定位单个对象时,selenium-Webdrive转载 2011-12-19 15:44:10 · 4165 阅读 · 1 评论 -
Ruby on Rails 新版本
<br />三步走:<br />其一:ruby application<br />下载安装RUBY http://rubyforge.org/frs/download.php/72170/rubyinstaller-1.9.2-p0.exe<br />其二:安装RAILS <br />gem install rails<br />其三:安装数库支持 <br />gem install sqlite3-ruby<br /> <br />测试:<br />建立一个项目 rails new Project原创 2011-04-08 14:55:00 · 954 阅读 · 0 评论 -
Ruby之————访问 FTP
<br />访问FTP:<br />1)FTP是目前最为流行的网络存储和发布文件的方式。FTP协议支持通过匿名方式或账户方式远程登录FTP服务器,列出服务器发布的文件列表,浏览目录结构以及上传、下载和删除服务器磁盘上的文件。<br /><br /><br />幻灯片 6.O {font-size:149%;}<!--.sld {left:0px !important; width:6.0in !important; height:4.5原创 2010-08-18 21:42:00 · 3776 阅读 · 0 评论 -
Ruby之————XML创建与解析
<br />#生成XML,需要创建一个REXML::Document对象实例<br />require "rexml/document"<br />file = File.new("test.xml","w+") #新建XML文件, 将以下内容写入。<br />doc = REXML::Document.new #创建XML内容<br />#为REXML文档添加一个节点<br />element = doc.add_element('book', {'name原创 2010-08-13 22:56:00 · 7553 阅读 · 0 评论 -
Ruby 语法(二)
重写: Ruby支持缺省参数:def sum( a, b=5 ) a+bendputs sum(3,6) #9puts sum(3) #8 Ruby还支持可变参数def sum( *num ) numSum = 0 num.each { |i| numSum+=i } //此处为迭代器,即原创 2009-12-06 21:34:00 · 743 阅读 · 0 评论 -
Ruby 语法(三)
重写: Ruby支持缺省参数:def sum( a, b=5 ) a+bendputs sum(3,6) #9puts sum(3) #8 Ruby还支持可变参数def sum( *num ) numSum = 0 num.each { |i原创 2009-12-07 20:40:00 · 640 阅读 · 0 评论 -
继承 & 多态
先说一下关于封装的一点小东西吧,attr_writer :motherland --》 用来定义对象可以修改 motherland attr_ reader :motherland --》用来定义对象可以输出 motherlandattr_accessor :motherland --》相当于 attr_ reader and attr_writer比如一个封装的原创 2009-12-02 23:09:00 · 609 阅读 · 0 评论 -
break, next, redo, retry
break ,跳出当层循环:puts "演示break"c=afor i in 1..4 if i == 2 and c ==a c = b print "/n" break end print i,c," "endputs "/n/n"#演示break1a##变量 c 在循环体原创 2009-11-30 22:33:00 · 912 阅读 · 1 评论 -
封装
让我们来定义一个类,类名是Person,类名首字母要大写;属性有姓名@name、年龄@age、国籍@motherland,实例变量用@开头; 方法有一个,叫talk, 方法名和参数名应该用一个小写字母开头或者用一个下划线开头 class Person def initialize(name,age=18) ##initialize为构造函数原创 2009-11-30 23:38:00 · 795 阅读 · 0 评论