Watir单元库
http://www.cnblogs.com/Javame/p/4045229.html
test:
#require 'net/http'
#require 'uri'
#url = URI.parse("https://www.baidu.com/baidu?wd=%E5%8F%91%E7%94%9F%E5%9C%B0%E6%96%B9&tn=monline_4_dg&ie=utf-8")
#http = Net::HTTP.start(url.host, url.port)
#doc = http.get(url.to_s)
#puts doc
=begin
begin
input = File.open("liuyang.txt")
input.each do |line|
printf("%s,%d", line, line.size)
end
input.close
a =1
printf("\n%d\n", a)
rescue => ex
puts "**************"
puts ex.message #message : �쳣��Ϣ
puts ex.backtrace #backtrace $@ : �쳣��λ����Ϣ
sleep(3)
retry #ʹ��retry��beginһ�µĴ������������һ��
ensure
puts "no matter what happened , execute" #�����Ƿ����쳣������Ҫִ��
end def myloop
while true
yield
end
end
puts "**********"
mun = 1
begin myloop do
puts mun
mun += 1
if mun > 2
break
end
puts "**********"
end
rescue => ex
puts ex.message
puts ex.backtrace
end
puts "###########" n = 1.upto(3) do |num|
puts num
if num ==4
break 1234
end
if num < 3
redo
end
break num
end
puts "###########"
puts n a = Rational(1,3)
b = Rational(1,6)
puts (a+b).to_f
c = Complex(1,3)
puts c =end =begin
require 'watir-classic'
def deal_alert(browser, operation="")
if browser.alert.exists? # Check if alert is shown
text = browser.alert.text # Gettext of alert
puts "你好"
if operation=="确定"
browser.alert.clock #click ok
elsif ["cancel","close"].include? operation
browser.alert.close # click close
end
puts text
else
puts "alert dialog not exist!"
end
end
brow = Watir::IE.new
browser = Watir::Browser.new
browser.goto("https://www.baidu.com/")
browser.text_field(:id=>"user_id").set"刘洋12"
frname = browser.document.frames
puts frname.length
# browser.frame(frname).button(id,"su").click
browser.button(:id=>"su").click
browser.goto("file:///D:/我的文档/Programs/Html/web/Home.html")
browser.text_field(:id=>"user_id").set"刘洋12"
browser.text_field(:id=>"code_id").set""
browser.button(:id=>"enter_id").click
deal_alert(browser, operation="")
browser.frames.each do |frame|
puts "top level frame info :" + frame
frame.frames.each do |innerframe|
puts "second tier frame data is: " + innerframe
end
=end
# browser.text_field(:name,"q").set"My"
# browser.text_field(:xpath=>'//name@name="q"').set"My start here"
#browser.button(:name=>"btnG").click require 'watir-classic' # the watir controller
require 'watir-classic/dialogs/alert'
require 'Win32API'
# open the IE browser
browser = Watir::Browser.new
# Step 1: go to the test site: http://www.google.com
#browser.goto ("file:///D:/我的文档/Programs/Html/web/System_display.html") # browser.frame(" ").radio(:id => "red").set browser.goto("file:///D:/我的文档/Programs/Html/web/Home.html")
title_name = "来自网页的消息"
ai = WIN32OLE.new('AutoItX3.Control')
ai.WinWaitActive(title_name,"",5)
ai.controclick(title_name,"","确定")
browser.button(:id=>"enter_id").click browser.alert do
browser.button(:value =>"fail").click
end
browser2 = Watir::Browser.attach(:title,"TBUSF System")
browser2.close
a = browser.alert
puts a frame_all = browser.document.frames
puts frame_all.length
for i in 0...frame_all.length end
=begin
browser.frame(:name=>"frame_name").radio(:id => "red").set
puts browser.frame(:name=>"frame_name").radio(:id => "red").set?
sleep(1)
browser.frame(:name=>"frame_name").radio(:id => "green").set
puts browser.frame(:name=>"frame_name").radio(:id => "green").set?
sleep(1)
browser.frame(:name=>"frame_name").radio(:id => "blue").set
puts browser.frame(:name=>"frame_name").radio(:id => "green").set?
sleep(1)
#browser.show_frames if browser.radio(:id => "red").set?
puts "yes"
end
browser.radio(:id => "red").set
if browser.radio(:id => "red").set?
puts "yes"
end
sleep(1)
browser.radio(:id => "blue").set
sleep(1)
browser.radio(:id => "green").set
sleep(1)
puts "liuyang"
=end # Step 2: enter 'pickaxe' in the search text field
# ie.text_field(:name, "q").set("pickaxe") # q is the name of the search field
# Step 3: click the 'Google Search' button
# ie.button(:name, "btnG").click # "btnG" is the name of the Search button
# Actual Result: Check that the 'Programming Ruby' link appears on the results page # End of test: Google search
Watir单元库的更多相关文章
- ABP框架系列之五:(Unit Of Work-工作单元)
		Introduction Connection and transaction management is one of the most important concepts in an appli ... 
- RAutomation 在 Watir中的使用
		RAutomation的用法 require "rautomation" # 通过匹配部分标题来获取窗口 window = RAutomation::Window.new(:tit ... 
- Cadence物理库 LEF 文件语法学习【持续更新】
		我是 雪天鱼,一名FPGA爱好者,研究方向是FPGA架构探索. 关注公众号,拉你进"IC设计交流群". @ 目录 一.LEF简介 1.1 通用规则 1.2 管理 LEF 文件 二. ... 
- ANSYS经典APDL编程
		在使用ANSYS的过程中的一些经验总结: Ansys Workbench 有限元分析虽然进入UI阶段,但是语言命令仍然是其基础核心. 1.ANSYS中的一些关键概念的理解; 参数化程序设计语言(APD ... 
- jbpmAPI-3
		第三章.jBPM安装程序 3.1 .先决条件这个脚本假设您具备Java JDK 1.6 +(设置JAVA_HOME),和Ant 1.7 +安装.如果你没有,请使用以下链接下载并安装:Java:http ... 
- ICC_lab总结——ICC_lab1:数据设置和基本流程
		ICC_lab总结 最近在学习后端的流程,做lab是最好不过了.但是有时候做过了lab,过了一段时间之后就会忘记,因此需要自己总结一下,加强印象. ICC_lab1:数据设置和基本流程 数据设置: 一 ... 
- Tcl与Design Compiler (四)——DC启动环境的设置
		本文属于原创手打(有参考文献),如果有错,欢迎留言更正:此外,转载请标明出处 http://www.cnblogs.com/IClearner/ ,作者:IC_learner 主要内容有: ·启动环 ... 
- 关于Verilog HDL的一些技巧、易错、易忘点(不定期更新)
		本文记录一些关于Verilog HDL的一些技巧.易错.易忘点等(主要是语法上),一方面是方便自己忘记语法时进行查阅翻看,另一方面是分享给大家,如果有错的话,希望大家能够评论指出. 关键词: ·技巧篇 ... 
- 了解FPGA市场现状和未来趋势
		转, 来源: http://www.sohu.com/a/204640373_740053 可编程的“万能芯片” FPGA——现场可编程门阵列,是指一切通过软件手段更改.配置器件内部连接结构和逻辑单元 ... 
随机推荐
- mysql复习(2)
			一.数据定义: SQL数据的定义包括模式的定义.表定义.视图定义和索引的定义. 1.基本的模式定义情况如下表. 2.一个关系数据库管理系统的实例中可以创建多个数据库,一个数据库中可以建立多个模式,一个 ... 
- 浏览器进程线程时间循环、与vue netTick的实现原理
			浏览器事件循环(结合vue nextTick)https://juejin.im/post/5cb736c5f265da039955d4e8#comment messageChanel的讲解https ... 
- vue改变数据视图刷新问题
			有时候我们会碰到数据已经更新了但是视图不更新的问题 1.根属性不存在,而想要直接给根属性赋值导致的视图不更新 解决:初始化属性的时候给根属性初始化一个空值就可以了 2.数组视图不更新 通过以下几个方法 ... 
- 配置jupyter notebook网页浏览
			上一篇博文已经介绍安装了Anaconda3:https://www.cnblogs.com/hello-wei/p/10233192.html jupyter notebook [I 11:33:11 ... 
- Js 实现 多个tr 点击变色,再点击还原
			我用的是渲染页面,将自定义的值作为一个表示符判断当前状态 <!DOCTYPE html> <html> <head> <meta charset=" ... 
- POJ1059Glass Beads
			Once upon a time there was a famous actress. As you may expect, she played mostly Antique Comedies m ... 
- DB2中常见sqlCode原因分析
			000 | 00000 | SQL语句成功完成 01xxx | SQL语句成功完成,但是有警告 +012 | 01545 | 未限定的列名被解释为一个有相互关系的引用 +098 | 01568 | 动 ... 
- K8S网络模型
			一.网络模型概述 k8s的网络中主要存在四种类型的通信:同一pod内的容器间通信.各pod彼此之间的通信.pod与service间的通信.以及集群外部的流量同service之间的通信. k8s为pod ... 
- linux下PHP扩展安装memcache模块
			linux下PHP扩展安装memcache模块 roid 安装环境RHEL 4Php 5.2.6 所需软件libevent-1.4.6-stable.tar.gz (http://monkey.o ... 
- Python&R:警告信息管理
			计算机程序有时很人性化,比如给你警告提示信息: 计算机程序有时又非常不人性化,比如动不动就给你警告提示...... 如果你的程序是要给客户使用,有运行美化要求: 再尤其是比如警告出现在循环里的情况,那 ... 
