ruby+watir--百度搜索示例
代码:URL、搜索内容、文本验证点都做成了变量;打开IE后,输入www.baidu.com,输入搜索内容“watir”,点击submit,查询出结果后,使用文本验证点Content去验证百度服务器返回内容。
#-------------------------------------------------------------# # Demo test for the Watir controller. # # Simple Google test written by Jonathan Kohl 10/10/04. # Purpose: to demonstrate the following Watir functionality: # * entering text into a text field, # * clicking a button, # * checking to see if a page contains text. # Test will search Google for the "pickaxe" Ruby book. #-------------------------------------------------------------# # the Watir controller #require "rubygems" require "watir" #require "watir-classic" # set a variable test_site = "http://www.baidu.com/" #search URL google.com Search_name = "watir" #search name Content = "download.csdn.net" #search results #open the IE browser ie = Watir::IE.new # print some comments puts "Beginning of test: Google search." puts " Step 1: go to the test site: " + test_site ie.goto test_site puts " Step 2: enter 'watir' in the search text field." #ie.text_field(:name, "wd").set "watir" # "q" is the name of the search field ie.text_field(:name, "wd").set Search_name #search name puts " Step 3: click the 'baidu submit' button." ie.button(:type, "submit").click # "submit" is the type of the Search button puts " Expected Result:" puts " A Google page with results should be shown. '#{Content} ' should be high on the list." puts " Actual Result:" if ie.text.include? "#{Content}" puts " Test Passed. Found the test string: '#{Content} '.Actual Results match Expected Results." else puts " Test Failed! Could not find: '#{Content} '." end puts " End of test: Google search." puts " Last Step Close IE!!"
ie.close
上面脚本是从http://www.51autotest.com论坛上找到的,代码中默认是google搜索,我改回百度的啦。 另外代码结尾中没有加入IE关闭的代码,要完善一些,要加入的ie.close。
返回结果:
>ruby baidu.rb Beginning of test: Google search. Step 1: go to the test site: http://www.baidu.com/ Step 2: enter 'watir' in the search text field. Step 3: click the 'baidu submit' button. Expected Result: A Google page with results should be shown. 'download.csdn.net ' should be high on the list. Actual Result: Test Passed. Found the test string: 'download.csdn.net '.Actual Results match Expected Results. End of test: Google search. Last Step Close IE!! >Exit code: 0
一开始运行上面脚本时,提示:“ruby Watir::IE (NameError)”的错误,然后再脚本中增加require "rubygems"和require "watir-classic",问题虽然解决,但是出现了其他的错误。最后通过gem list命令查看各个的版本号,发现watir、commonwatir、watir-classic、win32-process的版本高较高。
解决:
watir版本和commonwatir的版本要一致,都降低到3.0.0
watir-classic版本降低到3.0.0
win32-process版本降低到0.6.6
示例:
C:\ruby>gem uninstall watir -v 4.0.2 Successfully uninstalled watir-4.0.2-x86-mingw32 C:\ruby>gem install watir -v 3.0.0
gem uninstall watir-classic -v 3.3.0
gem install watir-classic -v 3.0.0
gem uninstall win32-process -v 0.7.0
gem install win32-process -v 0.6.6
看样子学习ruby+watir+webdriver并非1天2天的事情,加油!