如果是弹出窗口页的话需要先把焦点转到这个窗口。
###A helper method to wait the popup window to be closed
#
def wait_close_popup_window
i=0
while page.driver.browser.window_handles.size > 1
sleep 0.3
i = i+0.3
if i > 3
break
end
end
end
##
#A helper method to wait the popup window to be opened
#
def wait_open_popup_window
i=0
while page.driver.browser.window_handles.size < 2
sleep 0.3
i = i+0.3
if i > 3
break
end
end
end
##
#A helper method to simplify the operation of popup window
# AdminBase.popup_window{
# page.execute_script "window.close()"
# }
#
def popup_window
wait_open_popup_window
popup = page.driver.browser.window_handles.last
within_window(popup) do
yield
wait_close_popup_window
end
end
把你需要在弹窗也处理的代码块替换yield就行了。
你的 $dir = "D:\\Ruby"是绝对路径,是不能这样直接写的,要用相对路径。因为你不知道服务器系统的路径,这样的话那肯定是路径出问题啊。就像tomcate一样,你输入http://localhost:8080就相当于是进入web目录,在web目录下自然能找到你的文件。关键是现在你的这个php编写工具你知道服务器系统路径不,知道的话就在你的路径D前加上完整服务端路径,就肯定能实现效果的啦!!呵呵!很遗憾,zend studio我不懂的,我不是用的这个php开发工具。
既然是想实现上传效果,那你干脆就在你这个文件所在的目录下再建一个文件夹来装你的上传文件就好啦。例如是Ruby文件夹,然后就直接写
$dir = "Ruby"这样写准没错的!!
祝你成功哦!!