Перейти к содержимому

Фотография

Ruby для написания скриптов автотестов


  • Авторизуйтесь для ответа в теме
Сообщений в теме: 2

#1 Feel_Good

Feel_Good

    Новый участник

  • Members
  • Pip
  • 6 сообщений
  • ФИО:DG

Отправлено 22 октября 2009 - 13:50

Есть ли здесь кто-то, кто писал скрипты для автотестов на Ruby (c надстройкой Watir и RSpec)?
Столкнулся с непреодолимым желанием написать автотест под десктопклиент написанный на C#.
Кто-нибуть решал похожие задачи? поделитесь опытом и ссылочками на летературу. У меня есть пока "Scripted GUI testing with Ruby" by Jan Dees
  • 0

#2 ch_ip

ch_ip

    Профессионал

  • Members
  • PipPipPipPipPipPip
  • 1 097 сообщений
  • ФИО:Павел Абдюшев
  • Город:Москва


Отправлено 22 октября 2009 - 14:45

Руководства по руби:
Pragmatic Programmers, Programming Ruby The Pragmatic Programmers Guide (2005)-0974514055.pdf - есть как в виде pdf, так и в виде он-лайн документации.
Why's-poignant-guide-to-ruby.pdf - руковдство в виде увлекательной книжки с прекрасными картинками и юмором
Русский перевод последней книги (не полностью, поскольку процесс еще идет) здесь

Мои закладки по ruby, watir и funFX в прикрепленном файле.

Вы, кстати, какой средой для разработки пользуетесь?

Прикрепленные файлы

  • Прикрепленный файл  bookmarks.html   40,6К   84 Количество загрузок:

  • 0

#3 Feel_Good

Feel_Good

    Новый участник

  • Members
  • Pip
  • 6 сообщений
  • ФИО:DG

Отправлено 22 октября 2009 - 16:18

Спасибо.

Вы, кстати, какой средой для разработки пользуетесь?

Я использую ruby плагин для Eclipse
Firebug plugin в FireFox когда писал тест для WebGUI
Также пытался использовать iTest2 recorder для записи скрипта. Но тк всеравно пришлось ручками улучшать код и фасовать его при помощи RSpec
уже его не использую (кроме того там выявилась проблемка с iframes, которую также нужно исправлять ручками)

Ранее я написал скрипты для тестирования веб приложения. С Ruby + Watir + RSpec я знаком.
А тут нечто другое - С# десктоп приложение.

Вопрос, каким образом доставать обьекты, которые мне нужны?
К примеру в web приложении довольно просто:
it "Invoke Root Transition" do
	browser.frame(:id, "Home").button(:value, "Root").click
  end
достал кнопку - кликнул, достал поле - взял значение. Потому что здесь html.
А как достать поле из памяти или использовать функцию из .dll?

вот пример:
require 'Win32API'

 def user32(name, param_types, return_value)				  // здесь вспомогательная функция, которая вытянет функцию name
Win32API.new 'user32' , name, param_types, return_value[/b] // из user32.dll при помощи Win32API библиотеки Ruby
end

//это hint для руби какие параметры пулять в функцию два параметра типа Pointer на вход и тип Long Int на выход
find_window = user32 'FindWindow' , ['P' , 'P' ], 'L'	
		  
system 'start "" "C:\WINDOWS\system32\notepad.exe"'

// здесь собственно вызов функции find_window, которая находит окно c определенным заголовком
sleep 0.2 while (main_window = find_window.call  nil, 'Untitled - Notepad' ) <= 0   
puts "The main window's handle is #{main_window}."
ОК, я запустил приложение, получил ссылку на frame. Теперь как мне добратся до необходимого мне поля?
  • 0


Количество пользователей, читающих эту тему: 0

0 пользователей, 0 гостей, 0 анонимных