watir处理文件上传框

来源:互联网 发布:java 上传文件到http 编辑:程序博客网 时间:2024/06/11 04:07

用watir做自动化测试时,经常会遇到上传文件弹出框,这时用AutoIt3来处理比较方便。如果是一般的上传一个文件,可以这样实现:

 ai = WIN32OLE.new("AutoItX3.Control")        #图片数据目录获取    vpath = Dir.pwd       vpath = vpath.gsub(/TestCase.*/,'TestData/pic/3.jpg')    vpath = vpath.gsub("/",'\\')         ai.Send vpath    sleep 2    ai.Send('{ENTER}')   
文件上传框出现后,鼠标默认定位在文件路径输入框内,所以直接将路径写进入,然后回车。。。


如果现在需要上传pic文件夹下面所有的图片,这时候输入文件路径是比较困难的。有一种解决方法,就是先把鼠标焦点转到文件夹下,然后用autoit模拟Ctrl+A,选择文件夹下面所有的图片。

 #改变鼠标焦点    0.upto(6)do    ai.Send('{Tab}')    end    sleep 3       ai.Send("^a") #模拟Ctrl+A    ai.Send('{ENTER}')      

注:文件上传框打开时,选择文件路径比较困难,所有下面的脚本可以在上面的脚本执行后再执行,可以保证下面打开文件上传框刚好定位到pic的目录下。


附:ruby移动文件

  

    #将20.jpg移出pic文件夹    vpath = Dir.pwd     vpath1 = vpath.gsub(/TestCase.*/,'TestData/pic/20.jpg')    vpath2=vpath.gsub(/TestCase.*/,'TestData')    if File.exist?(vpath1)    FileUtils.mv(vpath1,vpath2)      end    





原创粉丝点击