Как я могу использовать rb-appscript для управления пунктом меню «Подключиться к серверу» Mac OS Finder

Конечная цель — написать автоматизированный тест на Ruby/Cucumber для подключения к серверу WebDAV и тестирования аутентификации, CRUD и загрузки/производительности в Mac OS X.

Я пытаюсь максимально имитировать поведение пользователя, поэтому я смотрю на 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

Есть идеи?


person mmla    schedule 28.12.2011    source источник


Ответы (1)


Ваше второе решение должно работать нормально, но замените «Подключиться к серверу…» на «Подключиться к серверу…». Это символ многоточия (option-;), а не три точки подряд.

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
person tomjakubowski    schedule 29.12.2011