【转载】watir学习系列
上一篇 / 下一篇 2010-02-11 09:50:18 / 个人分类:Ruby&Watir
创建应用对象: excel = WIN32OLE.new("Excel.Application")
新建Excel文件: excel.workbooks.Add #默认Excel文件
excel.workbooks.Add 1 #单工作表
创建Excel文件对象: wb = excel.ActiveWorkBook
创建工作表对象: sheet = web.ActiveSheet
打开Excel文件: excel.workbook.open "文件路径名.xls"
取单元格值: str = sheet.Cell[1][2].Value
单元格赋值: sheet.Cells[3][6].value = "test"
保存Excel文件: wb.Save 或 wb.SaveAs "文件名"
退出Excel: excel.quit
class CreateFile #定义类,类名首字母需大写
def rows_to_file(rows) #定义类方法
@@data_rows = rows #定义类变量,无需申明变量类型
@@content = ''
@@filename = "c:\\filename.txt" #定义文件路径
@@data_rows.each do |x| #遍历数组
@@content = @@content + x.to_s + ‘-‘ #to_s:转换为字符串
end
#写文件,参数说明:"a+" 在原有内容后追加数据 "w" :先将文件清空,再写入
File.open( @@filename, "a+" ) do |file|
file.puts @@content
end
end
end
rows = ['a','b','c']
CreateFile = CreateFile.new
CreateFile.rows_to_file(rows)
require 'watir'
#定义调用JS的类方法
class Watir::IE
def run_script(js)
ie.Document.parentWindow.execScript(js)
end
end
ie = Watir::IE.new
ie.goto("http://www.google.cn")
js_string = "alert(\"测试调用Javascript!\");"
#调用类方法
ie.run_script(js_string)
一、插入数据:
require 'DBI'
require 'jcode'
$KCODE = 's' #设置汉字代码为EUC,windows环境为"s",linux环境为"e"#数据库变量
db_host = 'DBI:OCI8:TEST'
db_user = 'user
db_psw = 'passwpord
dbh = DBI.connect(db_host, db_user, db_psw) #连接数据库
#插入数据
insert_sql = "insert into table values('1','2')"
begin
rs = dbh.prepare(insert_sql)
rs.execute #执行SQL
dbh.commit #提交数据
rs.finish
rescue DBI::DatabaseError => e
puts "Error code : #{e.err}"
puts "Error message: #{e.errstr}"
ensure
dbh.disconnect if dbh
end
二、查询数据:
require 'DBI' #加载DBI文件
require 'jcode'
$KCODE = 's' #设置汉字代码为EUC,windows环境为"s",linux环境为"e"
#数据库变量
db_host = 'DBI:OCI8:TEST'
db_user = 'user'
db_psw = 'password'
select_sql = "select value1,value2 from table"
begin
rs = dbh.prepare(select_sql)
rs.execute #执行查询
value_rows = rs.fetch_all #获取表数据
column_names_rows = rs.column_names #获取表列名
DBI::Utils::TableFormatter.ascii(column_names_rows,value_rows) #以表格的格式输出
DBI::Utils::XMLFormatter.table(value_rows) #以XML的格式输出
rs.finish
rescue DBI::DatabaseError => e
puts "Error code : #{e.err}"
puts "Error message: #{e.errstr}"
ensure
dbh.disconnect if dbh
end
三、删除数据:
require 'DBI'
require 'jcode'
$KCODE = 'e' #设置汉字代码为EUC,windows环境为"s",linux环境为"e"
#数据库变量
db_host = 'DBI:OCI8:TEST'
db_user = 'user'
db_psw = 'password'
dbh = DBI.connect(db_host, db_user, db_psw) #连接数据库
#删除数据
delete_sql = "delete from table where value1 =? and value2=?"
begin
rs = dbh.prepare(delete_sql)
rs.execute('1','2')
dbh.commit
rs.finish
rescue DBI::DatabaseError => e
puts "Error code : #{e.err}"
puts "Error message: #{e.errstr}"
ensure
dbh.disconnect if dbh
end
文本框:
<INPUT id="email" name="_fmu.u._0.e" value="" />
方法1: ie.text_field(:id,'email').set("文本内容")
方法2: ie.text_field(:name, 'email').set("文本内容")
方法3: ie.text_field(:name,"email").clear
下拉框:
<SELECT name="cert_no">
<OPTION value="身份证">身份证</OPTION>
</SELECT>
方法1: ie.select_list(:name,"cert_no").select("身份证")
方法2: ie.select_list(:name,"cert_no").clearSelection
超链接:
<a href = "http://www.google.cn/">google</a>
方法1:ie.link(:text,"google").click
方法2:ie.link(:url,"http://www.google.cn/").click
复选框:
<input type = "checkbox" name = "checkme" value = "1">
方法1: ie.checkbox(:name,"checkme").set
方法2: ie.checkbox(:name,"checkme").clear
方法3: values = ie.checkbox(:name,"checkme").value
<input type = "checkbox" name = "checkme" value = "2">
#多个同名的复选框处理
方法1: ie.checkbox(:name,"checkme","2").set
方法2: ie.checkbox(:name,"checkme","2").clear
单选框:
<input type = "radio" name = "clickme" id = "1">
方法1: ie.radio(:name, "clickme").set
方法2: ie.radio(:name, "clickme").clear
一般按钮:
<input type = "button" name = "clickme" value = "Click Me">
方法1: ie.button(:value, "Click Me").click
方法2: ie.button(:name,"clickme").click
submit按钮:
<form. action = "submit" name = "submitform" method = "post">
<input type = "submit" value = "Submit"></input>
</form>
方法: ie.button(:value."Submit").click
图片按钮:
<form. action ="submit" name = "doitform" method = "post">
<input type = "image" src = "images/doit.gif" name = "doit">
</form>
方法:ie.button(:name, "doit").click
Form中无按钮:
<form. action = "login" name = "loginform" method = "get">
<input name = "username" type = "text"></input>
</form>
方法1:ie.form(:name,"loginform").submit
方法2:ie.form(:action,"login").submit
获取隐含对象值:
<INPUT type=hidden value="您的Email" name="field1">
方法:values = ie.hidden(:name,'field1').value
获取窗口对象:
方法1: ie2 = Watir::IE.attach(:url,'http://www.google.cn/') #根据URL获取
方法2: ie3 = Watir::IE.attach(:title,'Google') #根据窗口标题获取
方法3: ie4 = Watir::IE.attach(:title, /google.cn/) #正则表达式匹配获取
URL编码:
require 'cgi'
string = "URL编码"
string = CGI::escape(string)
puts string # 转换结果: URL%B1%E0%C2%EB
URL解码:
require 'cgi'
string = "URL%BD%E2%C2%EB"
string = CGI::unescape(string)
puts string # 转换结果:URL解码
一、gem介绍:
gem是ruby管理包的工具,是ruby安装后自带工具,在安装包时会经常用到该工具
二、gem相关命令:
显示gem的帮助:gem –h
显示gem版本号:gem –v
更新gem版本:gem update --system
安装watir包:gem install watir
运行build子命令构建gem包:gem build package.gemspec
列出安装的gems:gem list
检查已安装的gem包:gem check
卸载已安装的gem包:gem uninstall GEMNAME
一、JDK安装及配置:
(1)默认安装JDK,路径如:C:"jdk1.5.0_11
JDK下载地址http://java.sun.com/javase/downloads/index.jsp
(2)配置环境变量:
打开"我的电脑"右键属性--"高级"--"环境变量"页面,
在系统变量里,添加变量JAVA_HOME,变量值:C:"jdk1.5.0_11
在系统变量里,添加变量CLASSPATH,变量值:.;%JAVA_HOME%"lib
在系统变量里,在变量Path变量值前增加:%JAVA_HOME%"bin;
二、Eclipse下载安装:
下载地址: http://www.eclipse.org/downloads/
安装方法:将下载的Eclipse解压到c:"eclipse
三、RDT安装配置 :
下载地址:http://sourceforge.net/project/showfiles.php?group_id=50233
安装方法:将RDT解压到eclipse目录:c:"eclipse
安装说明: http://rubyeclipse.sourceforge.net/download.rdt.html
相关配置方法: http://os.51cto.com/art/200605/26177.htm
一、安装ruby:
ruby下载地址:http://www.ruby-lang.org/zh_CN/downloads/
下载Windows一步安装版,默认安装,安装成功后可以运行命令查看版本:ruby –v
二、安装watir:
1.运行命令先更新gem:gem update --system
2.运行命令安装watir: gem install watir
三、安装 oci
ruby ruby-oci8-0.1.16-mswin32.rb
下载地址:http://rubyforge.org/frs/download.php/41043/ruby-oci8-1.0.3-mswin32.rb
四、安装DBI
下载地址:http://rubyforge.org/frs/download.php/33960/dbi-0.2.0.zip
安装步骤:1.将下载的DBI解压到C:"dbi
2.分别在命令行中运行下面命令安装:
cd c:"dbi
ruby setup.rb config
ruby setup.rb setup
ruby setup.rb install
五、安装IE Developer Toolbar(IE插件,可选)
下载地址:http://www.microsoft.com/downloads/details.aspx?familyid=e59c3964-672d-4511-bb3e-2d5e1db91038&displaylang=en
六、WatirRecorder++(watir脚本录制工具)
下载:http://www.hanselman.com/blog/content/binary/WatirRecorder_Setup_lite.msi
TAG:
标题搜索
日历
|
|||||||||
日 | 一 | 二 | 三 | 四 | 五 | 六 | |||
1 | 2 | 3 | 4 | 5 | 6 | ||||
7 | 8 | 9 | 10 | 11 | 12 | 13 | |||
14 | 15 | 16 | 17 | 18 | 19 | 20 | |||
21 | 22 | 23 | 24 | 25 | 26 | 27 | |||
28 | 29 | 30 |
我的存档
数据统计
- 访问量: 76386
- 日志数: 78
- 文件数: 1
- 建立时间: 2006-12-11
- 更新时间: 2010-04-19