Watir 语法(Web Application Testing in Ruby)
Watir 语法(Web Application Testing in Ruby)
# watir的安装
watie的安装请查看 -> Ruby library的安装
# 使用Watir工具,需要在脚本中加上
require 'watir'
# 创建一个IE的实例
ie = Watir::IE.new
或者在创建的同时直接转到页面
ie = Watir::IE.start('http://www.text.com/')
Watir使用start方法同时创建一个浏览器实例并转到一个页面。
IE浏览速度
ie.speed = :fast
ie.speed = :slow
# 页面导航
ie.goto('http://www.text.com/')
注: ie.goto还可以运行javascript的代码如: ie.goto("javascript: ie.document.write("Hello World");")
# 取得当前网页的网址
ie.url
# 点击超链接
ie.link(:text , "Pickaxe").click
ie.link(:href, /http:\/\/pragmaticprogrammer\.com/).click
ie.link(:name => 'foo', :index => 1).click
# 超链接的uri
ie.link(:text , "Pickaxe").href
ie.link(:index, 1).href
ie.link(:text => "reply", :index => 2).href
# 超链接的文本
ie.link(:href , /http:\/\/pragmaticprogrammer\.com/).text
对应的HTML代码为:
<a href='http://pragmaticprogrammer.com/titles/ruby/'>Pickaxe</a>
# img标签
ie.image(:name, 'image').src
ie.image(:index, 2).src
对应的HTML代码为:
<img name = img src='http://pragmaticprogrammer.com/titles/ruby/top.gif'>
<img name = img src='http://pragmaticprogrammer.com/titles/ruby/head.gif'>
# 设置复选框
ie.checkbox(:name, "checkme").set
ie.checkbox(:name, "checkme", "1").set # 使用name和value属性设置复选框
# 清除复选框
ie.checkbox(:name, "checkme").clear
ie.checkbox(:name, "checkme", "1").clear # 使用name和value属性清除复选框
对应的HTML代码为:
<input type = "checkbox" name = "checkme" value = "1">
# 设置单选框
ie.radio(:name, "clickme").set
ie.radio(:name=>'clickme', :index=>2).set
ie.radio(:name, "clickme", "1").set # 使用name和id属性设置单选框
# 使用name属性清除单选框
ie.radio(:name, "clickme").clear
ie.radio(:name, "clickme", "1").clear # 使用name和id属性清除单选框
对应的HTML代码为:
<input type = "radio" name = "clickme" id = "1">
相关文档:
安装环境:
OS:Windows XP
Ruby: Ruby1.9.1
Mysql: Mysql5.1.46 (username/password: root/root port:3306)
Ruby-Mysql Driver: mysql-2.8.1-x86-mswin32.gem
(注:用2.7.3版本的驱动在测试时会出现 require"mysql",找不到指定模块 错误)
IDE:RubyMine2.0.1
安装Ruby,RubyMine,Mysql的事项在这里就不多 ......
使用 will_paginate 进行分页和简单查询
在命令行下使用 gem install will_paginate 命令,出现下面结果安装成功
打开 books_controller.rb (你自己的控制器)
注释掉查找全部的方法,使用下面的方法,已经集成根据title进行查询
Ruby代码
#@books = Book.all
@books = Book.pagina ......
require 'open-uri'
$NAME_CHARS= (?a..?z).to_a+(?0..?9).to_a
def is_name_used(name)
str=open('http://passport.csdn.net/UserExist.aspx?UserName='+name)
str=str.read
#str=str.encode('GBK','utf-8')
return true if str[/Red/]
end
def enum_names(len=2)
return if len<2
f=File.open(' ......
require 'curses'
module Curses
def self.program
main_scr=init_screen
noecho
cbreak
curs_set(0)
main_scr.keypad=true
yield main_scr
end
end
Curses.program do |scr|
max_x=scr.maxx
max_y=scr.maxy
100.times do
scr.setpos(rand(max_y),rand(max_x))
......
开发环境
Ruby:Ruby1.9.1
Rails:Rails2.3.5
Mysql:Mysql5.0.9
Driver:mysql-2.8.1-x86-mingw32.gem
IDE:Rubymine2.0.1
一、创建View/login
在View/login下创建login.html.erb、index.html.erb、loginFail.html.erb
login.html.erb代码如下:
<h1>Welcome to login!</h1>
<% form_tag do %>
& ......