如何使用Ruby-Rspec处理Windows上载/下载对话框

时间:2016-03-16 06:37:46

标签: ruby rspec

我必须使用Windows上传对话框上传文件。我怎样才能使用ruby-rspec实现它。我应该使用第三方工具作为AutoIT,还是Ruby提供任何处理基于Window的对话框的方法。

我用过这个:

Class Upload
def upload_File() 
      filename= 'NewFile.xlsx'
      file = File.join(Dir.pwd, filename)
  @driver.find_element(:xpath,Upload::LINK_UPLOAD_FILE_XPATH).send_keys(file)
end

但它并不直接在对话框上工作。它有效,如果有一个字段,我可以直接在网页本身提供文件的位置,但不能在窗口对话框中提供文件选择。

1 个答案:

答案 0 :(得分:0)

我找到了解决方案。 IO是一个处理输入/输出文件操作的类。在我的Ruby-Rspec脚本中添加了这段代码并且它有效。

f = IO.popen("D:/AutoIt_Scripts/FileUpload.exe")
      puts f.readlines 

在我写过的AutoIT文件中

ControlFocus("Open","","Edit1")
ControlSetText("Open","","Edit1","D:\Upl\DemoUpload.xlsx")
ControlClick("Open","","Button1")

并以.au3扩展名保存。