watir教程实例.docx_第1页
watir教程实例.docx_第2页
watir教程实例.docx_第3页
watir教程实例.docx_第4页
watir教程实例.docx_第5页
已阅读5页,还剩14页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

Ruby 的安装 1:下载 railsinstaller 一键安装 默认c 盘通过 cmd 窗口查看版本 查看版本命令: ruby v下载 iedriver server Chrome driver 放到安装目录下 安装 gemgem sources remove /gem sources a /gem sources lgem install watir-webdrivergem list watir 查看一、1. 文本框:a) 方法1: ie.text_field(:id,email).set(文本内容)b) 方法2: ie.text_field(:name, email).set(文本内容)c) 方法3: ie.text_field(:name,email).clear2. 下拉框: 身份证a) 方法1: ie.select_list(:name,cert_no).select/set(身份证) b) 方法2: ie.select_list(:name,cert_no).clearSelection 3. 超链接:google a) 方法1:ie.link(:text,google).click b) 方法2:ie.link(:url,/).click 4. 复选框: a) 方法1: ie.checkbox(:name,checkme).set b) 方法2: ie.checkbox(:name,checkme).clear c) 方法3: values = ie.checkbox(:name,checkme).value d) 方法4:ie.checkbox(:index,XX).set #通过index来识别对象5. 多个同名的复选框处理 a) 方法1: ie.checkbox(:name,checkme,2).set b) 方法2: ie.checkbox(:name,checkme,2).clear 6. 单选框: a) 方法1: ie.radio(:name, clickme).set b) 方法2: ie.radio(:name, clickme).clear7. 一般按钮: a) 方法1: ie.button(:value, Click Me).click b) 方法2: ie.button(:name,clickme).click 8. submit按钮: a) 方法: ie.button(:value.Submit).click9. 图片按钮: a) 方法:ie.button(:name, doit).click10. Form中无按钮: a) 方法1:ie.form(:name,loginform).submit b) 方法2:ie.form(:action,login).submitc) 方法3:ie.form(:method,”get”).submit11. 获取隐含对象值: a) 方法:values = ie.hidden(:name,field1).value 12. 获取窗口对象: a) 方法1: ie2 = Watir:IE.attach(:url, /) #根据URL获取 b) 方法2: ie3 = Watir:IE.attach(:title, Google) #根据窗口标题获取 c) 方法3: ie4 = Watir:IE.attach(:title, //) #正则表达式匹配获取 13. URL编码: require cgi string = URL编码 string = CGI:escape(string) puts string 转换结果: URL%B1%E0%C2%EB 14. URL解码: require cgi string = URL%BD%E2%C2%EB string = CGI:unescape(string) puts string 转换结果:URL解码 15. Frames链接a) 方法1:ie.show_frames #显示当前页面中frames的信息b) 方法2:ie.frame(:name,”menu”).link(:text,”链接”).click #访问frame中的链接c) 方法3:ie.frame(:name,”XXX”).frame(:name,”XXX”) #嵌套frame的访问16. 操作浏览器窗口的一些常用代码a) ie.bring_to_front #将浏览器窗口放置到最前端b) ie.status #返回浏览器状态栏的内容c) ie.show_frames #找出当前页面中所有的framesd) $HIDE_IE = true #程序运行时隐藏浏览器窗口e) ie.url() #获取当前窗口的url地址f) ie.html() #获取当前窗口的html代码g) ie.text() #获取当前窗口的文本内容watir学习系列-Excel操作加载win32ole文件: require win32ole创建应用对象: 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.Cell12.Value单元格赋值: sheet.Cells36.value = test保存Excel文件: wb.Save 或 wb.SaveAs 文件名退出Excel: excel.quitwatir学习系列-文件操作(创建文件)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 endendrows = a,b,cCreateFile = CreateFile.newCreateFile.rows_to_file(rows)watir学习系列-调用Javascript脚本require watir#定义调用JS的类方法class Watir:IE def run_script(js) ie.Document.parentWindow.execScript(js) endendie = Watir:IE.newie.goto()js_string = alert(测试调用Javascript!);#调用类方法ie.run_script(js_string)watir学习系列-oracle数据库操作一、插入数据:require DBIrequire jcode$KCODE = s #设置汉字代码为EUC,windows环境为s,linux环境为e#数据库变量db_host = DBI:OCI8:TESTdb_user = userdb_psw = passwporddbh = DBI.connect(db_host, db_user, db_psw) #连接数据库#插入数据insert_sql = insert into table values(1,2)beginrs = dbh.prepare(insert_sql)rs.execute #执行SQLmit #提交数据rs.finishrescue DBI:DatabaseError = eputs Error code : #e.errputs Error message: #e.errstrensuredbh.disconnect if dbhend二、查询数据:require DBI #加载DBI文件require jcode$KCODE = s #设置汉字代码为EUC,windows环境为s,linux环境为e#数据库变量db_host = DBI:OCI8:TESTdb_user = userdb_psw = passwordselect_sql = select value1,value2 from tablebegin 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.finishrescue DBI:DatabaseError = e puts Error code : #e.err puts Error message: #e.errstrensure dbh.disconnect if dbhend三、删除数据:require DBIrequire jcode$KCODE = e #设置汉字代码为EUC,windows环境为s,linux环境为e#数据库变量db_host = DBI:OCI8:TESTdb_user = userdb_psw = passworddbh = 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) mit rs.finishrescue DBI:DatabaseError = e puts Error code : #e.err puts Error message: #e.errstrensure dbh.disconnect if dbhendwatir学习系列-Watir API介绍文本框: 方法1: ie.text_field(:id,email).set(文本内容) 方法2: ie.text_field(:name, email).set(文本内容) 方法3: ie.text_field(:name,email).clear下拉框: 身份证 方法1: ie.select_list(:name,cert_no).select(身份证) 方法2: ie.select_list(:name,cert_no).clearSelection超链接:google 方法1:ie.link(:text,google).click 方法2:ie.link(:url,/).click复选框: 方法1: ie.checkbox(:name,checkme).set 方法2: ie.checkbox(:name,checkme).clear 方法3: values = ie.checkbox(:name,checkme).value #多个同名的复选框处理 方法1: ie.checkbox(:name,checkme,2).set 方法2: ie.checkbox(:name,checkme,2).clear单选框: 方法1: ie.radio(:name, clickme).set 方法2: ie.radio(:name, clickme).clear一般按钮: 方法1: ie.button(:value, Click Me).click 方法2: ie.button(:name,clickme).click访问一个类的按钮ie.button(:class, my_custom_button_class) submit按钮: 方法: ie.button(:value.Submit).click图片按钮: 方法:ie.button(:name, doit).clickForm中无按钮: 方法1:ie.form(:name,loginform).submit 方法2:ie.form(:action,login).submit获取隐含对象值: 方法:values = ie.hidden(:name,field1).value获取窗口对象: 方法1: ie2 = Watir:IE.attach(:url,/) #根据URL获取 方法2: ie3 = Watir:IE.attach(:title,Google) #根据窗口标题获取 方法3: ie4 = Watir:IE.attach(:title, //) #正则表达式匹配获取URL编码: require cgi string = URL编码 string = CGI:escape(string) puts string # 转换结果: URL%B1%E0%C2%EBURL解码: require cgi string = URL%BD%E2%C2%EB string = CGI:unescape(string) puts string # 转换结果:URL解码waitr学习系列-gem包管理工具一、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 GEMNAMEwatir学习系列-eclipse环境搭建一、JDK安装及配置: (1)默认安装JDK,路径如:C:jdk1.5.0_11 JDK下载地址/javase/downloads/index.jsp (2)配置环境变量: 打开我的电脑右键属性-高级-环境变量页面, 在系统变量里,添加变量JAVA_HOME,变量值:C:jdk1.5.0_11 在系统变量里,添加变量CLASSPATH,变量值:.;%JAVA_HOME%lib 在系统变量里,在变量Path变量值前增加:%JAVA_HOME%bin;二、Eclipse下载安装: 下载地址: /downloads/ 安装方法:将下载的Eclipse解压到c:eclipse三、RDT安装配置 : 下载地址:/project/showfiles.php?group_id=50233 安装方法:将RDT解压到eclipse目录:c:eclipse 安装说明: /download.rdt.html 相关配置方法: /art/200605/26177.htmWatir学习系列-环境配置一、安装ruby: ruby下载地址:/zh_CN/downloads/ 下载Windows一步安装版,默认安装,安装成功后可以运行命令查看版本:ruby v二、安装watir: 1.运行命令先更新gem:gem update -system 2.运行命令安装watir: gem install watir三、安装 ocirubyruby-oci8-0.1.16-mswin32.rb 下载地址:/frs/download.php/41043/ruby-oci8-1.0.3-mswin32.rb四、安装DBI 下载地址:/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插件,可选) 下载地址:/downloads/details.aspx?familyid=e59c3964-672d-4511-bb3e-2d5e1db91038&displaylang=en六、WatirRecorder+(watir脚本录制工具) 下载:/blog/content/binary/WatirRecorder_Setup_lite.msiwatir教程实例2008年02月15日 星期五 19:53开发测试案例(Developing Test Cases)1.打开编辑器2.以.rb为你的文件扩展名3.在测试文件的第一句写上“require watir”,确保可以访问Watir工具。4.打开浏览器并转到要测试的应用5.与之交互并设计你的testcase6.在测试脚本中使用Watir方法7.验证结果与网页交互(Interacting With a Web Page)当使用Watir开发测试脚本的时候,通过给网页上的对象发送消息来与之交互。ie.text_field(:name , q).set(bluescorpio)ie.button(:value , Click Me).clickWatir语法(Watir Syntax)1.使用Watir工具,需要在脚本中加上require watir2.创建一个IE的测试实例ie = Watir:IE.new或者在创建的同时直接转到页面ie = Watir:IE.start(http:/mytestsite;)Watir使用start方法同时创建一个浏览器实例并转到一个页面。3.页面导航ie.goto(http:/mytestsite;)4.操纵Web页面对象4.1超链接4.1.1使用Text属性点击超链接ie.link(:text , Pickaxe).click对应的HTML代码为:Pickaxe4.1.2使用URL属性点击超链接ie.link(:url , /titles/ruby/;).click对应的HTML代码为:Test Site4.2复选框4.2.1使用name属性设置复选框 ie.checkbox(:name, checkme).set4.2.2使用name属性清除复选框ie.checkbox(:name, checkme).clear4.2.3使用name和value属性设置复选框ie.checkbox(:name, checkme, 1).set4.2.4使用name和value属性清除复选框ie.checkbox(:name, checkme, 1).clear对应的HTML代码为:4.3单选框4.3.1使用name属性设置单选框ie.radio(:name, clickme).set4.3.2使用name属性清除单选框ie.radio(:name, clickme).clear4.3.3使用name和id属性设置单选框ie.radio(:name, clickme, 1).set4.3.4使用name和id属性清除单选框ie.radio(:name, clickme, 1).clear对应的HTML代码为: 4.4下拉框4.4.1使用name属性和值来设置下拉框ie.select_list( :name , selectme).select(is fun)4.4.2使用name属性和值来清除下拉框ie.select_list( :name , selectme).clearSelection 对应的HTML代码为: Web Testing in Ruby is fun 4.5在Web页面中输入数据4.5.1使用文本输入框的那么属性设置输入内容ie.text_field(:name, typeinme).set(Watir World)4.5.2清空文本输入框ie.text_field(:name, typeinme).clear对应的HTML代码为:4.6从Web页面上提交数据4.6.1按钮通过值或标题属性点击按钮ie.button(:value, Click Me).click通过name属性点击按钮ie.button(:name, clickme).click对应的HTML代码为:4.6.2表单表单中的按钮使用value或标题属性ie.button(:value, Submit).click对应的HTML代码为:表单中的图片按钮使用那么属性ie.button(:name, doit).click对应的HTML代码为:没有按钮的表单Watir can submit a form by identifying it by its name, action and method attributes.可以通过name、action以及method属性来提交表单ie.form(:name, loginform).submitie.form(:action, login).submit对应的HTML代码为:4.6.3框架ie.show_frames可以打印出当前页面框架的数量和名称Watir允许通过名称属性来访问框架,如ie.frame(menu)如果要访问menu框架中的一个超链接,可以ie.frame(menu).link(:text, Click Menu Item).click4.6.4嵌套框架ie.frame(frame1).frame(:name, nested_frame)4.6.5新窗口一些Web应用会弹出新窗口或打开一个新窗口,可以使用attach方法来访问并控制新窗口。通过标示新窗口的URL或者title来访问。ie2 = Watir:IE.attach(:url, http:/mytestsite)ie3 = Watir:IE.attach(:title, Test New Window)也可以使用正则表达式ie4 = Watir:IE.attach(:title, /Test New/)注意:不要把新窗口分配到你的ie变量,最好给新窗口一个不同的名字5.验证结果比较好的方法是在测试案例中假如验证点5.1对象存在使用Watir方法contains_textie.contains_text(Reached test verification point.) if ie.contains_text(Reached test verification point.) put

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论