1. 请求watir
require ‘watir’
2. 访问web页面
test_site = ‘http://192.168.1.178:9992/TOOLKIT/User/SignIn.aspx’
3. 打开一个新的ie
a) ie =Watir::IE.new
b) Watir::Browser.default = ‘firefox’
Browser = Watir::Browser.new
Browser.goto(“http://192.168.1.178:9992/TOOLKIT/User/SignIn.aspx”)
4. 进入到测试web页面
ie.goto(test_site)
5. 输入文本
ie.text_field(:name,”ctl00$ContentPlaceHolderBody$TextBoxUserName”).set(“Jane.liu”)
6. 点击按钮
ie.button(:name,”ctl00$ContentPlaceHolderBody$ButtonSignIn”).click
7. 进入到新的页面
Ie =Watir::IE.attach(:title, ‘Select OPEN Appraisal’)
8. 预期结果
If ie.contains_text(“1GCGG256291100045”)
puts “testpassed!”
else
puts “Test Failed!”
end
9. 下拉列表
ie.select_list(:name, 'name').select_value('value')
10. 上传图片
ie.file_field(:id,”the_file”).set(“c:\\image.jpg”)
*如果是中文操作系统,那么需要修改C:\ruby\lib\ruby\gems\1.8\gems\watir-1.5.6\watir\input_elements.rb文件中找到filefield类下的set方法修改中间的“choose file”成“选择文件”(其中“选择文件”是根据自己操作系统的弹出对话框的title来决定的。因为有些即使是英文操作系统但是“choose file to upload”就需要也进行修改。
并且需要去掉button2按钮。
system("rubyw -e \"require 'win32ole'; @autoit=WIN32OLE.new('AutoItX3.Control'); waitresult=@autoit.WinWait '选择文件', '', 15; sleep 1; if waitresult == 1\" -e \"@autoit.ControlSetText '选择文件', '', 'Edit1', '#{setPath}'; @autoit.ControlSend '选择文件', '', '', '{ENTER}';\" -e \"end\"")
11. combobox
ie.image(:id,”ext-gen11”).click
ie.div(:text,”Changshaone”).click
12. radio button
ie.radio(:id,”ct100_ContentPlaceHolderBody_rbviClean”).set
13. 输出结构判断
if ie.text.include? "Congratulations,vehicle info has sent to lot successfully!"
puts "Test Passed. complete a Appraisal . Actual Results match Expected Results."
else
puts "Test Failed! Don't complete a apprasial."
14.Test suite
require "#{File.dirname(__FILE__)}/LiveNetPriceCheck.rb"
15.undefined method `radio' for nil:NilClass
因为:id与"ctl00_ContentPlaceHolderBody_RadioNew"之间多了个空格
$ie.radio(:id,"ctl00_ContentPlaceHolderBody_RadioNew").set
16.IE窗口最大化
ie.maximize()
运行cmd:
regsvr32 C:\ruby\lib\ruby\gems\1.8\gems\watir-1.5.4\watir\AutoItX3.dll