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

Фотография

помогите по SilkTest


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

#1 TaurosRMK

TaurosRMK

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

  • Members
  • Pip
  • 3 сообщений

Отправлено 11 октября 2011 - 16:39

Доброго времени суток!

сразу напишу, что делаю тестовое задание
а то перечитал темы, и смотрю что есть также похожие темы, а ответы давать не хотят :)

но всё же прошу подсказать, это не значит что надо польностью написать скрипт, а просто подсказать правильно делаю, или нет, или подсказать как надо

есть несколько пунктов, большенство которых я уже сам сделал, но осталось самое хорошое - скриншоты
есть 3 пункта по скринам - скрин тестируемого окна, скрин кнопки и скрин менюшки

но хотел спросить не по скринах, а по другим пунктам
правильно ли я сделал? надо тестировать WordPad :)
запустил вордпад, запустил силк тест, создал новый проэкт, создал фрейм, где выбрал вордпад как тестируемый продукт, создал 4Тест скрипт
после чего запустил рекордер и проделал нужные действия с Вордпадом, ну и записаное вставил в скрипт, где немного переделал под себя, ненужное удалил
скрипт запускается и нормально работает, но мне кажется что это не верное решение, или я ошибаюсь?

вот что получилось (делает в меню "Вид" неактивными два нижних пункта):
[ ] Desktop.Find("/MainWin[@caption='* - WordPad']//MenuItem[@caption='Линейка']").Pick()
	[ ] 
	[ ] Desktop.Find("/MainWin[@caption='* - WordPad']//MenuItem[@caption='Строка состояния']").Pick()
верно или нет? )) и это для руского вордпада, а как сделать, что бы и под английский подходил, что бы не пришлось переписывать код?

также и с остальными пунктами, что записал рекордер, то я и вставил, немного переделав...

теперь по скринам, как сделать скрин я уже разобрался, но не до конца :\
написал код, который делает скрин всего десктопа, а надо только тестируемого окна, и сохраняет в папку с силктестом, а надо в любую другую, но не знаю где и как прописать путь...

[ ] sBitmap = "wordpad_{FormatDateTime (GetDateTime (), "ddmmyyyy_hhnnss")}.bmp"
	[ ] Desktop.CaptureBitmap (sBitmap)
подозреваю, что путь пишется в первой строчке, но не знаю как правильно :\

да, а с остальными пунктами о скринах - скрин кнопки и менюшки бе выделеного менюайтема - что-то никак...

поэтому прошу подсказать как реализировать эти два пункта, и правильно ли я сделал остальное? :)
заранее спасибо!
  • 0

#2 iriko

iriko

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

  • Members
  • Pip
  • 8 сообщений
  • ФИО:Irina

Отправлено 11 октября 2011 - 16:56

подозреваю, что путь пишется в первой строчке, но не знаю как правильно :\

да, а с остальными пунктами о скринах - скрин кнопки и менюшки бе выделеного менюайтема - что-то никак...

поэтому прошу подсказать как реализировать эти два пункта, и правильно ли я сделал остальное? :)
заранее спасибо!
[/quote]


собссна, тут все-все описано доступно и кратко http://silktutorial.ru/
  • 0

#3 TaurosRMK

TaurosRMK

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

  • Members
  • Pip
  • 3 сообщений

Отправлено 11 октября 2011 - 17:03

подозреваю, что путь пишется в первой строчке, но не знаю как правильно :\

да, а с остальными пунктами о скринах - скрин кнопки и менюшки бе выделеного менюайтема - что-то никак...

поэтому прошу подсказать как реализировать эти два пункта, и правильно ли я сделал остальное? :)
заранее спасибо!



собссна, тут все-все описано доступно и кратко http://silktutorial.ru/


да я уже почти все что там написано перечитал, но что-то не получается то что надо...
  • 0

#4 Skuayer

Skuayer

    Активный участник

  • Members
  • PipPip
  • 115 сообщений
  • ФИО:Жуков Анатолий Викторович
  • Город:Санкт-Петербург

Отправлено 11 октября 2011 - 17:46

запустил вордпад, запустил силк тест, создал новый проэкт, создал фрейм, где выбрал вордпад как тестируемый продукт, создал 4Тест скрипт
после чего запустил рекордер и проделал нужные действия с Вордпадом, ну и записаное вставил в скрипт, где немного переделал под себя, ненужное удалил
скрипт запускается и нормально работает, но мне кажется что это не верное решение, или я ошибаюсь?

тут все упирается в то с какой стороны смотреть,
в таком виде конечно работать можно, но когда у вас десятки, а то и сотни тестов - поддерживать их будет очень сложно. в таких случаях нужно создавать фреймворк для управления приложением, чтобы при небольших изменений в приложении не приходилось менять все тесты.... очень много инфы и примеров - читайте

теперь по скринам, как сделать скрин я уже разобрался, но не до конца :\
написал код, который делает скрин всего десктопа, а надо только тестируемого окна, и сохраняет в папку с силктестом, а надо в любую другую, но не знаю где и как прописать путь...
[ ] sBitmap = "wordpad_{FormatDateTime (GetDateTime (), "ddmmyyyy_hhnnss")}.bmp"
[ ] Desktop.CaptureBitmap (sBitmap)
подозреваю, что путь пишется в первой строчке, но не знаю как правильно :\

AnyWin.CaptureBitmap("C:\test\example.bmp")

CaptureBitmap можно вызывать как на окне, так и на любом элементе.


а вы в с каким агентом работает?
  • 0

#5 TaurosRMK

TaurosRMK

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

  • Members
  • Pip
  • 3 сообщений

Отправлено 11 октября 2011 - 19:11

SilkTest Classic 2010

CaptureBitmap можно вызывать как на окне, так и на любом элементе.


а можно тут написать как, например, делается скрин любой кнопки?

сделал уже куда сохранять скрин окна, ну пока десктопа
потому что делаю что бы скринилось окно, а ничего не происходить, скрин делается, но черный фон и всё...

AnyWin.CaptureBitmap("C:\test\example.bmp")

я что-то похожое сделал, тлько путь сохранения указал как константу
скрин сохраняется в папку "тест", но если такой папки нет, то ошибка
это как-то можно исправить или надо много писать?
  • 0

#6 Skuayer

Skuayer

    Активный участник

  • Members
  • PipPip
  • 115 сообщений
  • ФИО:Жуков Анатолий Викторович
  • Город:Санкт-Петербург

Отправлено 12 октября 2011 - 07:41

SilkTest Classic 2010

CaptureBitmap можно вызывать как на окне, так и на любом элементе.


а можно тут написать как, например, делается скрин любой кнопки?

сделал уже куда сохранять скрин окна, ну пока десктопа
потому что делаю что бы скринилось окно, а ничего не происходить, скрин делается, но черный фон и всё...

[ ] DocumentWordPad.SetActive ()
	[ ] DocumentWordPad.captureBitmap("C:\wordPadScreen.bmp")
	[ ] DocumentWordPad.Insert.DateAndTime.Pick ()
	[ ] DateAndTime.SetActive ()
	[ ] DateAndTime.captureBitmap("C:\DateAndTimeScreen.bmp")
	[ ] DateAndTime.AvailableFormats.Select ("10/12/2011")
	[ ] DateAndTime.AvailableFormats.captureBitmap("C:\selectScreen.bmp")
	[ ] DateAndTime.OK.captureBitmap("C:\OKBtn.bmp")
	[ ] DateAndTime.OK.Click ()

я что-то похожое сделал, тлько путь сохранения указал как константу
скрин сохраняется в папку "тест", но если такой папки нет, то ошибка
это как-то можно исправить или надо много писать?

в чем проблема завести папку куда складывать скриншоты?

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

  • Прикрепленный файл  OKBtn.bmp   5,43К   10 Количество загрузок:

  • 0

#7 Int_21h

Int_21h

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

  • Members
  • Pip
  • 21 сообщений
  • ФИО:Александр

Отправлено 12 октября 2011 - 10:17

[ ] Desktop.Find("/MainWin[@caption='* - WordPad']//MenuItem[@caption='Линейка']").Pick()
[ ]
[ ] Desktop.Find("/MainWin[@caption='* - WordPad']//MenuItem[@caption='Строка состояния']").Pick()


Почему такой путь выбрал? Зачем эти длинные определения.
Юзай Classic Agent

Первая задача, к примеру, будет иметь такой вид:

window wMain = MainWin("*WordPad")

testcase setMenuItems() appstate none
   wMain.SetActive()
   wMain.Menu("#3").MenuItem("#1").Check()
   wMain.Menu("#3").MenuItem("#2").Check()
   wMain.Menu("#3").MenuItem("#3").UnCheck()
   wMain.Menu("#3").MenuItem("#4").UnCheck()

Это самы "топорный" вариант. Советую делать проверки (код выглядит грамотнее написанным). При этом будет работать и на локализированых версиях продукта.

По поводу создания скрина:


STRING CreateScreenShot ()
	[ ] STRING sBitmap
	[ ] 
	[-] withoptions
		[ ] BindAgentOption (OPT_BITMAP_MATCH_COUNT, 1)
		[ ] sBitmap = "{GetProgramDir()}\{GetTestCaseName()}_{FormatDateTime (GetDateTime(), "_ddmmyyyy_hhnnss")}.bmp"
		[ ] Desktop.CaptureBitmap (sBitmap)
	[ ] return sBitmap

GetProgramDir() = путь. Что не понятно?

Далее смотрим на строку
Desktop.CaptureBitmap (sBitmap)

Десктоп - окно, которое нужно заскринить. Что мешает изменить десктоп на нужное мам окно? Нужна кнопка? Лови пример:

MainWin("*WordPad").CustomWin("[AfxControlBar42u]#1").ToolBar("#1").PushButton("#1").CaptureBitmap (sBitmap)

Будет тебе скрин кнопки "New".

Будут вопросы - пиши в скайп: Int_21_hex
  • 0


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

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