如何使用rb-appscript驱动Mac OS Finder的“连接到服务器”菜单项

时间:2011-12-28 02:36:53

标签: ruby automation applescript appscript rb-appscript

最终目标是在Ruby / Cucumber中编写自动化测试,以连接到WebDAV服务器并在Mac OS X中测试身份验证,CRUD和负载/性能。

我试图尽可能多地模拟用户行为,这就是我查看rb-appscript的原因,但我对其他想法持开放态度。

我最初尝试过这个:

app("Finder").open_location("http://example.com/dav")

但这只会打开您的默认浏览器。我猜open_location只使用Mac OS'基于协议或扩展的默认应用程序。

我还试图为"连接到服务器..."模拟Finder键盘快捷键,但这不起作用:

app("System Events").processes["Finder"].menu_bars[1].menu_bar_items["Go"].menus["Go"].menu_items["Connect to Server..."].click

有什么想法吗?

1 个答案:

答案 0 :(得分:1)

您的第二个解决方案应该可以正常工作,但请将“连接到服务器...”替换为“连接到服务器...”。这是省略号字符(选项 - ;),而不是连续三个句点。

require 'appscript'

include Appscript

app('Finder').activate

# This is a slightly terser way of doing it :)
# app('System Events').processes['Finder'].menu_bars[1].menus['Go'].menu_items['Connect to Server…'].click

app("System Events").processes["Finder"].menu_bars[1].menu_bar_items["Go"].menus["Go"].menu_items["Connect to Server…"].click