ruby+watir 自动化测试如何判断页面是否存在某些字符

 我来答
sunny_test
2011-09-22 · TA获得超过1681个赞
知道小有建树答主
回答量:70
采纳率:0%
帮助的人:108万
展开全部
1、watir,"Web Application Testing in Ruby,是一款用Ruby脚本语言驱动浏览器的自动化测试工具,可以驱动那些作为Html页面被发送到Web浏览器端的应用程序。
2、判断页面是否存在某些字符,觉得方法有几个
1)利用检查点的contains_text:
例如:
(contains_text)
require 'watir'
ie = Watir::IE.start("http://www.baidu.com")
if ie.contains_text("hao123")
puts "Test passed. Page contains the text: hao123"
else
puts "Test failed! Page didn't contain text: hao123"
end
2)利用检查点中assert,即改成assert(ie.contains_text("hao123"))
3)你可以先看这个字符的节点所在位置,因为WEB页面都是HTML的元素节点组成,而其watir可以查或者其页面上元素的节点值,或者之后,你再用一个字符串匹配或者正则匹配匹配一下即可。
有什么问题和需要,可以给发邮件:test_sunny@hotmail.com(散步的SUN),我们再一起讨论~~
追问
谢谢你的回答,可是我这边还有点问题,怎么执行都是走到else里面了,这是怎么回事呢?我的代码如下
require "test/unit"
require 'watir'
class Test_text < Test::Unit::TestCase
def test_text
ie = Watir::IE.start("http://www.baidu.com")
if ie.contains_text("百度")
puts "111111111111111111"
else
puts "22222222222222222"
end
end
end

1 tests, 0 assertions, 0 failures, 0 errors
追答
1、因为你的ruby里不识别中文...你要是去看错误信息的话,会看到
test.rb:6: invalid multibyte char (US-ASCII)
test.rb:6: invalid multibyte char (US-ASCII)
test.rb:6: syntax error, unexpected $end, expecting ')'
if ie.contains_text("百度")
2、另外一种方法:
if ie.text.include? ”hao123“
puts " Test Passed. Found the test string:
else
puts " Test Failed! Could not find the String'."
也是可以的
计名pS
2011-09-15 · TA获得超过3649个赞
知道大有可为答主
回答量:4189
采纳率:0%
帮助的人:2194万
展开全部
watir 据说不错,但真没用过;能否介绍一下...

Ruby 判断页面是否存在某些字符无非就是通过正则匹配而已...
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式