如果是弹出窗口页的话需要先把焦点转到这个窗口。
###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就行了。
file = File.new(“testfile”, “r”)# … process the filefile.closetestfile是想要操作的文件名,”r”说明了文件的操作模式为读取。可以使用”w”表示写入,”rw”表示读写。最后要记得关闭打开的文件,确保所有被缓冲的数据被写入文件,所有相关的资源被释放。也可以使用File.open来打开文件,open和new的不同是open可以使用其后的代码块而new方法则返回一个File类的实例。File.open(“testfile”, “r”) do |file|# … process the fileendopen操作的另一个优点是处理了异常,如果处理一个文件发生错误抛出了异常的话,那么open操作会自动关闭这个文件,下面是open操作的大致实现:class Filedef File.open(*args)result = f = File.new(*args)if block_given?beginresult = yield fensuref.closeendendreturn resultendend对于文件的路径,Ruby会在不同的操作系统间作转换。例如,在Windows下,/ruby/sample/test.rb会被转化为\ruby\sample\test.rb。当你使用字符串表示一个Windows下的文件时,请记住使用反斜线先转义: