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——现场可编程门阵列,是指一切通过软件手段更改.配置器件内部连接结构和逻辑单元 ...
随机推荐
- luogu P2154 [SDOI2009]虔诚的墓主人
luogu 下面记一个点上下左右点数分别为\(u_i,d_i,l_i,r_i\) 枚举每个中间点太慢了,考虑枚举两个点之间横的一条线段,这里面的点左边点数目都相同,右边点数目都相同,然后只要查一下区间 ...
- 会计凭证替代 OBBH
单词:Validation: 会计凭证校验 ,Substitution:会计凭证替代 step1: GCX2 gblr: ZRFI_GGBR000 gbls: ZRFI_GGBS000 - step2 ...
- AES加密解密 Java中运用
AES全称 Advanced Encryption Standard, 高级加密算法,更加安全,可取代DES. Aes: package com.blog.d201706.encrypt; impor ...
- IT技术网站博客推荐
CSDN 全球最大中文IT社区,为IT专业技术人员提供最全面的信息传播和服务平台. 51CTO 技术成就梦想 - 中国领先的IT技术网站 itEye Java编程 Spring框架 Ajax技术 ag ...
- pamamiko的学习笔记
pamamiko的学习笔记 Paramiko包含两个核心组件,一个为SSHClient类,另一个为SFTPClient类, 一,paramiko的连接有两种方式,一种是通过paramiko.SSHCl ...
- 架构师成长之路5.1-Saltstack安装及入门
点击架构师成长之路 架构师成长之路5.1-Saltstack安装及入门 (安装.配置.启动) 配置管理工具: Pupper:1. 采用ruby编程语言:2. 安装环境相对较复杂:3.不支持远程执行,需 ...
- ceph问题汇总
1. [ceph_deploy][ERROR ]RuntimeError: Failed to execute command: yum -y install epel-release 解决方案 进入 ...
- D2. Kirk and a Binary String (hard version) D1 Kirk and a Binary String (easy version) Codeforces Round #581 (Div. 2) (实现,构造)
D2. Kirk and a Binary String (hard version) time limit per test1 second memory limit per test256 meg ...
- A RECURRENT NEURAL NETWORK WITHOUT CHAOS
本篇文章的介绍了一个非常简单的门限RNN(gated recurrent neural network), 这里有两扇门horizontal/forget gate和vertical/input ga ...
- cookie的使用以及cookie的跨域名获取
cookie存放容量4k左右,可设置过期时间. 1.cookie的封装使用 //设置cookies function setCookie(name, value) { var Days = 30; v ...