Archive

Posts Tagged ‘Watir 文件上传’

让Watir认识并操作文件上传

12月 5th, 2008

从中午开始写新建广告组的watir自动化测试代码,结果一开始就遇到头痛的上传问题.

根据http://wiki.seleniumhq.org/display/WTR/File+Uploads ,下载了filefield_test.rb,并在rb文件里加入了如下代码

ie.goto “tinypic.com”
ie.file_field(:id, “the_file”).set(”C:\\image.png”)

结果只能打开文件上载的窗口,接下去的操作就做不下去了.

还是继续google了好久,阿里巴巴QA架构组的51testing空间找到了解决方法,发上来给大家共享下.

1. 首先修改C:\ruby\lib\ruby\gems\1.8\gems\watir-1.5.6\watir\input_elements.rb文件

找到FileField类下的set方法,把原来的替换成

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 '选择文件', '', 'Button2', '{ENTER}';\" -e \"end\"")

这样做是为了支持中文.

2. 然后,就可以加入程序代码了

Read more…

hupose Ruby|Watir, 学习|笔记, 软件|测试