Automation 运行Selenium/Capybara测试脚本时在MacOS Finder中选择文件

Automation 运行Selenium/Capybara测试脚本时在MacOS Finder中选择文件,automation,selenium-webdriver,capybara,Automation,Selenium Webdriver,Capybara,我正在尝试将文件上载到正在测试的页面上。Capybara中的attach_file方法在这里不起作用。原因是上载功能使用的是名为file uploader的JS库 我实际上能够调用鼠标点击来打开Finder窗口(在Mac OS中),允许我选择要打开的文件,但是我不确定如何在这个窗口中工作。基本上,我想从桌面上选择一个文件,然后单击“打开” 是否有一种方法可以让我在这个窗口中工作,只需按文件名选择一个文件,然后单击“打开” 我在Firefox工作 将文件从我的桌面拖到一个div中也会起作用,但我在

我正在尝试将文件上载到正在测试的页面上。Capybara中的attach_file方法在这里不起作用。原因是上载功能使用的是名为file uploader的JS库

我实际上能够调用鼠标点击来打开Finder窗口(在Mac OS中),允许我选择要打开的文件,但是我不确定如何在这个窗口中工作。基本上,我想从桌面上选择一个文件,然后单击“打开”

是否有一种方法可以让我在这个窗口中工作,只需按文件名选择一个文件,然后单击“打开”

我在Firefox工作

将文件从我的桌面拖到一个div中也会起作用,但我在水豚中也找不到这样做的方法


谢谢。

Selenium是一种浏览器自动化工具,因此不可能与操作系统的其他组件进行任何交互。一旦浏览器打开“文件打开/查找”窗口,您与之交互的不再是浏览器。有一些工具可以处理它们,但我不太熟悉,无法给出详细的回答。谷歌的机器人框架,或AutoIt为初学者


或者,由于您正在处理的是一个JS库,它负责处理上传,因此您可以使用JavascriptExecutor直接调用库函数,它不模拟用户体验,但可能足以克服您的障碍。

我很想使用AutoIt,但我正在Mac上严格测试。过去我对AutoIt有很多经验。有没有一种方法可以将applescript集成到我要做的事情中?