我必须使用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
但它并不直接在对话框上工作。它有效,如果有一个字段,我可以直接在网页本身提供文件的位置,但不能在窗口对话框中提供文件选择。
答案 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扩展名保存。