rubin - Automatiseret GUI-test af Windows Explorer-udvidelser

Indlæg af Hanne Mølgaard Plasc

Problem



Jeg arbejder med at automatisere GUI-test af en Windows Explorer-udvidelse. Tænk på noget som TortoiseSVN-menuen. Jeg vil gerne kunne gøre noget som TortoiseSVN-> Show Log i kontekstmenuen.


Jeg foretrækker at være en Ruby-løsning, hvis det er muligt, men jeg er villig til at være agnostiker.


Jeg fandt dette på nettet, som er tæt på, men gør ikke helt, hvad jeg vil. Det ser ud til at kun have nogle ikke-cascading menuindstillinger og understøtter ikke shell-udvidelser. [2]


Eventuelle forslag ville blive meget værdsat.

Bedste reference


Tag et kig på AutoItX3.
Jeg tror, ​​du kan få det til at gøre, hvad du vil. [3]


Du kan interface det med Ruby gennem OLE:

http://actsasbuffoon.wordpress.com/2008/12/30/introduction-to-autoitx3/[4]


EDIT


Jeg vil bare tilføje, hvordan jeg kom ind i Explorer-kontekstmenuen her, måske kan nogen finde ud af, hvordan man kan komme videre. Jeg spillede bare lidt og prøvede at se hvor svært det ville være:


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...

Andre referencer 1


Du kan være interesseret i denne metode ved hjælp af Ruby ... via Ruby perle kaldet win32-autogui. Det giver en ramme til at teste Windows GUI apps. Kombiner det med Ruby-værktøjer RSpec og Agurk, og det giver dig en stærk testramme. [5]