Автоматическое тестирование GUI расширений оболочки проводника Windows - PullRequest
3 голосов
/ 12 августа 2011

Я работаю над автоматизацией GUI-тестов расширения для проводника Windows. Подумайте, что-то вроде меню TortoiseSVN. Я хотел бы иметь возможность сделать что-то вроде TortoiseSVN-> Показать журнал в контекстном меню.

Я бы предпочел решение на Ruby, если это возможно, но хочу быть независимым от языка.

Я нашел это в Интернете, которое близко, но не совсем делает то, что я хочу. Кажется, он имеет только некоторые не каскадные параметры меню по умолчанию и не поддерживает расширения оболочки.

Любые предложения будут с благодарностью.

Ответы [ 2 ]

2 голосов
/ 12 августа 2011

Взгляните на AutoItX3 . Я думаю, вы могли бы заставить это делать то, что вы хотите.

Вы можете связать его с Ruby через OLE:
http://actsasbuffoon.wordpress.com/2008/12/30/introduction-to-autoitx3/

РЕДАКТИРОВАТЬ

Я просто добавлю, как я попал в контекстное меню проводника здесь, может быть, кто-то может найти способ продвинуться дальше. Я просто немного поиграл, пытаясь понять, насколько это будет сложно:

require 'win32ole'

shell  = WIN32OLE.new('Shell.Application')
folder = shell.NameSpace("D:\\")
files  = folder.Items
file   = nil

# Search for one specific file "test.rb"
files.each { |f| file = f if f.Name == "test.rb" }

# List all items in the context menu of test.rb
file.Verbs.each { |v| puts v.Name }

# At this point I ran out of ideas and couldn't figure out
# how to traverse into the submenus of the context menu...
1 голос
/ 16 ноября 2011

Вас может заинтересовать этот метод, использующий Ruby ... через гем Ruby с именем win32-autogui .Он обеспечивает основу для тестирования приложений Windows GUI.Объедините его с инструментами Ruby RSpec и Cucumber, и вы получите мощную среду тестирования.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...