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

Тестирование веб-приложений 2.0
онлайн, начало 25 января
Тестирование REST API
онлайн, начало 28 января
SQL для тестировщиков
онлайн, начало 28 января
Техники локализации плавающих дефектов
онлайн, начало 28 января
Фотография

помогите по 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


Программирование на С# для тестировщиков
онлайн
Автоматизатор мобильных приложений
онлайн
Selenium WebDriver: полное руководство
онлайн
Программирование на Python для тестировщиков
онлайн



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

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

Яндекс.Метрика
Реклама на портале