1

Фон: Несколько месяцев назад моя команда изначально реализовала надежную инфраструктуру автоматизации тестирования Ruby/Cucumber для клиента, которая затрагивает различные внутренние веб-сайты приложений, API и баз данных.Нужна рубиновая жемчужина для автоматизации тестирования огурца унаследованного настольного приложения Windows, написанного на VB 6

Клиент вернулся и спросил о расширении рамки Ruby/Cucumber, чтобы включить унаследованное приложение Windows Desktop (написанное на VB 6), которое требует проверки, которые уже существуют в текущей структуре.

Проблема: После обширных исследований я обнаружил несколько драгоценных камней, которые должны быть несколько полезными, но не обеспечивают всех необходимых возможностей. Например, помимо «стандартных» функций настольных приложений, таких как кнопки щелчка, перемещение меню/таблиц и заполнение форм, динамическая функция перетаскивания - одна из наиболее сложных функций настольного приложения Windows для автоматизации.

Я изучил драгоценные камни RAutomation, Mohawk, Win32-autogui и Sikuli/Rukuli, и некоторая комбинация из вышеперечисленного должна обеспечить большую часть необходимых возможностей.

Вопрос: Кто-нибудь знает о любом камне Ruby (или комбинации драгоценных камней), который хорошо сочетается с настольными приложениями Windows?

В идеальном мире я надеюсь на что-то вроде приложений Calabash/Appium для Windows.

Любая помощь очень ценится.

Заранее спасибо.

+0

[pywinauto] (http://pywinauto.github.io/) может выполнить эту работу для устаревшего приложения VB6, но это Python. Хотя есть мост [rubypython] (http://rubypython.rubyforge.org/). Может быть, слишком сложно, но если ничего не помогает ... Почему бы и нет? –

ответ

0

Я тестирую драгоценный камень 'uia', пока он отвечает потребностям. Я сделал пример с калькулятором, продолжайте.

#*************************************************** 
# Test calc.exe 
#*************************************************** 
require 'uia' 

#'window' 
calc = Uia.find_element title: 'Calculadora' 

#Cap a name 

btn1 = calc.find(name: '1') 

#cap controls def for control_type 

btns = calc.find_all(control_type: :buttons) 

#btns is array buttons 

#cap all child the calc.exe 

ctrls = calc.children 


#*************************************************** 

 Смежные вопросы

  • Нет связанных вопросов^_^