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

Фотография

Запуск нескольких агентов


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

#1 Evgenij_Ul

Evgenij_Ul

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

  • Members
  • PipPip
  • 77 сообщений
  • ФИО:Чирочкин Евгений
  • Город:Ульяновск

Отправлено 30 октября 2007 - 15:04

Здравствуйте, скажите пожалуйста, можно ли запустить дним СилкТестом несколько агентов на разных машинах, чтобы они выполняли разные тестпланы? Или как еще можно организовать выполнение нескольких тестпланов для разных билдов, при этом как можно сильнее сэкономить расходы на лицензии и тд.
Спасибо.
  • 0

#2 KaNoN

KaNoN

    АЦЦКИЙ СОТОНА

  • Members
  • PipPipPipPipPipPip
  • 1 260 сообщений
  • ФИО:Колесник Николай
  • Город:Днепропетровск > Киев > Лондон

Отправлено 30 октября 2007 - 15:31

Здравствуйте, скажите пожалуйста, можно ли запустить дним СилкТестом несколько агентов на разных машинах, чтобы они выполняли разные тестпланы? Или как еще можно организовать выполнение нескольких тестпланов для разных билдов, при этом как можно сильнее сэкономить расходы на лицензии и тд.
Спасибо.

Вопрос достаточно общий, поэтому сошлюсь сюда (как и в соседней теме). Прочитайте 5-ю главу. Там как раз с примерами описывается запуск на удаленных машинах. Также поищите где-то в дополнительных возможностях работу с командной строкой для вызовов Агента, силктеста. Возможно сочетание всего этого вам поможет. При возникновении неясностей, пишите в этой же теме (пока обсуждается данный вопрос). Это вам для старта, начните копать оттуда
  • 0

#3 KaNoN

KaNoN

    АЦЦКИЙ СОТОНА

  • Members
  • PipPipPipPipPipPip
  • 1 260 сообщений
  • ФИО:Колесник Николай
  • Город:Днепропетровск > Киев > Лондон

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

Предыдущий пост скорее позволит вам узнать, что можно сделать, чтобы запускать тесты на разных машинах параллельно. А если вдаваться в детали вашей задачи, то могу сказать, что в чистом виде эффекта не будет. В любом случае лицензии вы не сэкономите, так как запуск на удаленной машине подразумевает наличие как минимум запущенного Агента (именно он выполняет команды), а это в любом случае требует наличие лицензии. Более того, тестпланы подразумевают конкретный способ запуска, требующий открытого СилкТеста для каждого тестплана. Соответственно, даже распределенный запуск для данной задачи не годится.

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

#4 Evgenij_Ul

Evgenij_Ul

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

  • Members
  • PipPip
  • 77 сообщений
  • ФИО:Чирочкин Евгений
  • Город:Ульяновск

Отправлено 31 октября 2007 - 13:17

Ситуация такая: для тестирования приложения у нас есть большой набор тесткейсов, объединенных в один тестплан, тестирующий всю функциональность отдельной конфигурации приложения. Но дело в том что таких конфигурация очень много и для каждой можно сконфигурировать тест план так чтобы тестировать ее индивидуально. Таким образом допустим на трех машинах стоят разные конфигурации приложения, и на всех запущен агент, как я понял из 5 главы мы можем управлять этими агентами с хост машины, тоесть я хочу сделать так, чтобы силктест на хосте запускал удаленно три агента выполняющих различные тест планы.

Я видел что можно сделать так чтобы тесткейсы выполнялись параллельно, а вот можноли сделать так, чтобы запустить параллельно тест планы? Или запустить тест планы из разных тесткейсов? А может вместо тест плана использовать мультитесткей где в качестве аргумента будут передаваться списки тесткейсов(идентичные тем что в тестплане)?
Может посоветуете еще какието варианты для этой проблемы?
Спасибо.
  • 0

#5 KaNoN

KaNoN

    АЦЦКИЙ СОТОНА

  • Members
  • PipPipPipPipPipPip
  • 1 260 сообщений
  • ФИО:Колесник Николай
  • Город:Днепропетровск > Киев > Лондон

Отправлено 31 октября 2007 - 14:12

Я видел что можно сделать так чтобы тесткейсы выполнялись параллельно, а вот можноли сделать так, чтобы запустить параллельно тест планы?

Вряд ли такое получится, так как тестпланы и тесткейсы - это немного разные сущности.

Или запустить тест планы из разных тесткейсов?

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

А может вместо тест плана использовать мультитесткей где в качестве аргумента будут передаваться списки тесткейсов(идентичные тем что в тестплане)?
Может посоветуете еще какието варианты для этой проблемы?

Ну, с мультитесткейсом - это как-то теплее, но по-моему немного не то, как минимум потому, что в мультитесткейсе нельзя вызвать тесткейс (есть такое ограничение). Но можно найти схожее решение. Например,

[+] main()
				[+] LIST OF LIST OF STRING llsTests = {...}
								[+] {...}
												[ ] "Test1_1"
												[ ] "Test1_2"
												................................
												[ ] "Test1_n"
								[+] {...}
												[ ] "Test2_1"
												[ ] "Test2_2"
												..................................
												[ ] "Test2_n"

								.........................................

								[+] {...}
												[ ] "TestN_1"
												[ ] "TestN_2"
												[ ] "TestN_n"
				[ ] 
				[+] LIST OF STRING lsMachines = {...}
								[ ] "Machine1:1111"
								[ ] "Machine2:1112"
								..............................
								[ ] "MachineN:111N"
				[ ] 
				[ ] STRING sMachine
				[ ] STRING sTest
				[ ] 
				[ ] LIST OF HMACHINE lhHandles = {}
				[ ] 
				[+] for each sMachine in lsMachines
								[+] do
												[ ] ListAppend( lhHandles , Connect( sMachine ) )
								[+] except
												[ ] ExceptPrint()
				[ ] 
				[+] for each sMachine in lsMachines
								[+] spawn
												[+] do
																[ ] SetMachine(sMachine)
																[ ] 
																[+] for each sTest in llsTests[ ListFind(lsMachines,sMachine) ]
																				[+] do
																								[ ] @(sTest)()
																				[+] except
																								[ ] LogError("Test ""{sTest}"" was interrupted!!!")
																								[ ] ExceptPrint()
																[ ] 
																[ ] Disconnect( lhHandles[ ListFind( lsMachines , sMachine) ] )
												[+] except
																[ ] ExceptPrint()
								[ ] rendezvous
				[ ]
В списке llsTests вместо Test1_1, Test1_2 ставьте имена тесткейсов (только имена) из первого тестплана, вместо Test2_1, Test2_2 - второго тестплана и так далее.
В lsMachines помещайте имена машин, на которых эти тестпланы будут запускаться.

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

#6 Ul_Svetlana

Ul_Svetlana

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

  • Members
  • Pip
  • 22 сообщений
  • ФИО:Лебедева Светлана Сергеевна

Отправлено 31 октября 2007 - 14:42

Добрый день!
Подскажите, пожалуйста, как на удаленной машине, где установлен только Агент, подключить классы, соответствующие модели DOM для тестируемого вебприложения? Дело в том, что я столкнулась с такой проблемой: если на машине, где стоит SilkTest для этого нужно зайти в Tools->Enable Extensions и для нужного приложения выполнить всю процедуру, то как же можно сделать это на удаленной машине, где только Агент? Там у меня он выдает ошибки типа: [BrowserChild]Test was not found.
Большое спасибо
  • 0

#7 Evgenij_Ul

Evgenij_Ul

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

  • Members
  • PipPip
  • 77 сообщений
  • ФИО:Чирочкин Евгений
  • Город:Ульяновск

Отправлено 31 октября 2007 - 14:49

Вряд ли такое получится, так как тестпланы и тесткейсы - это немного разные сущности.

Так, тоесть сами тестпланы для разных конфигурацй на силктесте(одном) запустить нельзя? Только один тестплан на разных машинах?
  • 0

#8 KaNoN

KaNoN

    АЦЦКИЙ СОТОНА

  • Members
  • PipPipPipPipPipPip
  • 1 260 сообщений
  • ФИО:Колесник Николай
  • Город:Днепропетровск > Киев > Лондон

Отправлено 31 октября 2007 - 14:54

Добрый день!
Подскажите, пожалуйста, как на удаленной машине, где установлен только Агент, подключить классы, соответствующие модели DOM для тестируемого вебприложения? Дело в том, что я столкнулась с такой проблемой: если на машине, где стоит SilkTest для этого нужно зайти в Tools->Enable Extensions и для нужного приложения выполнить всю процедуру, то как же можно сделать это на удаленной машине, где только Агент? Там у меня он выдает ошибки типа: [BrowserChild]Test was not found.
Большое спасибо

В своем первом ответе в данной теме я указал ссылку на книжку по СилкТесту. И в этот раз она вам пригодится. Почитайте главу 8.4. Там в частности рассказывается как вручную активировать расширения для браузера (скорее всего вам это и понадобится). Также, убедитесь, что в файле extend.ini (он находится в каталоге, куда установлен Агент) есть такие строчки:
[iexplore.exe#6]
domex.dll=TRUE
Если нету, то добавьте (предварительно закрыв Агента).
Вот вокруг всего этого вам придется плясать (возможно даже с бубном).
  • 0

#9 KaNoN

KaNoN

    АЦЦКИЙ СОТОНА

  • Members
  • PipPipPipPipPipPip
  • 1 260 сообщений
  • ФИО:Колесник Николай
  • Город:Днепропетровск > Киев > Лондон

Отправлено 31 октября 2007 - 15:02

Вряд ли такое получится, так как тестпланы и тесткейсы - это немного разные сущности.

Так, тоесть сами тестпланы для разных конфигурацй на силктесте(одном) запустить нельзя? Только один тестплан на разных машинах?

Максимум так (и то с выбрыками). Фишка в том, что тесткейсы - это функции, соответственно их можно в скрипте вызвать в блоке, распаралеливающем процессы. А тестплан - это уже есть некоторая разновидность скрипта и он не вызывается напрямую в коде.

Если честно, то проще на каждой из конфигураций держать настроенный СилкТест. Все равно количество лицензий тратится ровно столько, на скольких конфигурациях бегают тесты. И если каждая конфигурация реализована на различных физически машинах, то это даже лучше по производительности, чем распаралеливание процессов с одной машины. И вдобавок, результаты будут иметь человеческий вид. Если же используются виртуальные машины, то это, конечно, грустная история, но в этом случае просто имеет смысл не делать количество одновременно используемых машин большим (нужно чтоб памяти хватило)
  • 0

#10 Ul_Svetlana

Ul_Svetlana

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

  • Members
  • Pip
  • 22 сообщений
  • ФИО:Лебедева Светлана Сергеевна

Отправлено 31 октября 2007 - 15:13

Подскажите, пожалуйста, а что делать, если установить IE DOM в Primary Extension для iexplore.exe, как описано у Вас в книге, не получается, его в выпадающем списке там просто нет, в чем может быть проблема?
  • 0

#11 Evgenij_Ul

Evgenij_Ul

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

  • Members
  • PipPip
  • 77 сообщений
  • ФИО:Чирочкин Евгений
  • Город:Ульяновск

Отправлено 31 октября 2007 - 15:15

Если честно, то проще на каждой из конфигураций держать настроенный СилкТест. Все равно количество лицензий тратится ровно столько, на скольких конфигурациях бегают тесты.

А разве лицензии на агента не стоят гораздо меньше? Я слышал что лицензия на агент стоит меньше в два раза...
Где же это можно узнать точно, на сайте борланда по ценам на лицензии я ничего не нашел.
  • 0

#12 KaNoN

KaNoN

    АЦЦКИЙ СОТОНА

  • Members
  • PipPipPipPipPipPip
  • 1 260 сообщений
  • ФИО:Колесник Николай
  • Город:Днепропетровск > Киев > Лондон

Отправлено 31 октября 2007 - 15:36

Если честно, то проще на каждой из конфигураций держать настроенный СилкТест. Все равно количество лицензий тратится ровно столько, на скольких конфигурациях бегают тесты.

А разве лицензии на агента не стоят гораздо меньше? Я слышал что лицензия на агент стоит меньше в два раза...
Где же это можно узнать точно, на сайте борланда по ценам на лицензии я ничего не нашел.

Да, я забыл, что на Агент лицензии идут отдельно. На сайте Борланда об этом так в открытую нигде не указано. Это надо на sales-ов выходить и там уже определять комплектацию Силка. Но тем не менее, это не основная проблема для данной задачи (деньги пусть менеджеры считают). Проблема в том, что Агент на удаленной машине бывает достаточно проблематично настроить. Я это как-то сделал года полтора назад и я там много вариантов перепробовал. Какой-то из них сработал. Возможно даже "с толкача". То есть поставился Силк полностью на удаленке, настроили расширения, затем снесли Силк и поставили потом только Агента (Силк можно и не сносить, а использовать только Агент, в этом случае сам силк лицензии не забирает). То есть это как промежуточный вариант.

Но при такой организации нужно обязательно позаботиться о параллельном логировании результатов, то есть результаты работы скриптов с каждой машины должны писаться в свой отдельный файл, иначе в файле результатов будет полная каша
  • 0

#13 KaNoN

KaNoN

    АЦЦКИЙ СОТОНА

  • Members
  • PipPipPipPipPipPip
  • 1 260 сообщений
  • ФИО:Колесник Николай
  • Город:Днепропетровск > Киев > Лондон

Отправлено 31 октября 2007 - 15:40

Подскажите, пожалуйста, а что делать, если установить IE DOM в Primary Extension для iexplore.exe, как описано у Вас в книге, не получается, его в выпадающем списке там просто нет, в чем может быть проблема?

Я не могу сказать, что ему не нравится, поэтому рекомендую попробовать настроить все описанным в предыдущем посте методом. То есть, поставить Силк на удаленке, настроить расширения стандартным путем, а затем снести Силк и поставить только Агент. Если дисковое пространство некритично, то Силк можно и не сносить.
  • 0

#14 Genka

Genka

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

  • Members
  • PipPipPipPipPipPip
  • 1 328 сообщений
  • ФИО:Геннадий Алпаев
  • Город:Украина, Днепр


Отправлено 31 октября 2007 - 15:44

Подскажите, пожалуйста, а что делать, если установить IE DOM в Primary Extension для iexplore.exe, как описано у Вас в книге, не получается, его в выпадающем списке там просто нет, в чем может быть проблема?


а что есть в списке?
и какая версия силка?
  • 0

TestComplete для начинающих (видеозаписи курса)

Software Testing Automation Tips (50 вещей, которые должен знать каждый автоматизатор, книга на английском языке)

Онлайн-учебник "Автоматизация тестирования от «А» до «Ы»"
Сборник рецептов по TestComplete (книга на английском языке)
Онлайн-учебник по TestComplete
Онлайн-учебник по SilkTest


#15 Ul_Svetlana

Ul_Svetlana

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

  • Members
  • Pip
  • 22 сообщений
  • ФИО:Лебедева Светлана Сергеевна

Отправлено 01 ноября 2007 - 14:32

Добрый вечер!
Подскажите, пожалуйста, как решить такую проблему: на локальной машине установлен СилкТест 2006 R2, а на удаленной только агент от СилкТеста 7.01, настраиваю все в Options->Runtime, но при запуске тесткейса вижу ошибку *** Error: Agent not responding. Из-за чего это может быть? Большое спасибо.
  • 0

#16 Ul_Svetlana

Ul_Svetlana

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

  • Members
  • Pip
  • 22 сообщений
  • ФИО:Лебедева Светлана Сергеевна

Отправлено 01 ноября 2007 - 14:36

Подскажите, пожалуйста, а что делать, если установить IE DOM в Primary Extension для iexplore.exe, как описано у Вас в книге, не получается, его в выпадающем списке там просто нет, в чем может быть проблема?


а что есть в списке?
и какая версия силка?


Версия 2006 R2, в списке есть AOLBrowser, .NET Ext, FireFox 1.5, Internet Explorer, Netscape, PowerBuilder и все.
  • 0

#17 Genka

Genka

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

  • Members
  • PipPipPipPipPipPip
  • 1 328 сообщений
  • ФИО:Геннадий Алпаев
  • Город:Украина, Днепр


Отправлено 01 ноября 2007 - 14:44

Добрый вечер!
Подскажите, пожалуйста, как решить такую проблему: на локальной машине установлен СилкТест 2006 R2, а на удаленной только агент от СилкТеста 7.01, настраиваю все в Options->Runtime, но при запуске тесткейса вижу ошибку *** Error: Agent not responding. Из-за чего это может быть? Большое спасибо.


СилкТесты и Агенты разных версий несовместимы. Исправить, насколько я знаю, некак.

PS Ul_Svetlana, а вы случайно с Evgenij_Ul не родственники? :))
  • 0

TestComplete для начинающих (видеозаписи курса)

Software Testing Automation Tips (50 вещей, которые должен знать каждый автоматизатор, книга на английском языке)

Онлайн-учебник "Автоматизация тестирования от «А» до «Ы»"
Сборник рецептов по TestComplete (книга на английском языке)
Онлайн-учебник по TestComplete
Онлайн-учебник по SilkTest


#18 Genka

Genka

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

  • Members
  • PipPipPipPipPipPip
  • 1 328 сообщений
  • ФИО:Геннадий Алпаев
  • Город:Украина, Днепр


Отправлено 01 ноября 2007 - 14:50

Версия 2006 R2, в списке есть AOLBrowser, .NET Ext, FireFox 1.5, Internet Explorer, Netscape, PowerBuilder и все.


ставьте Internet Explorer
руководство писалось еще тогда, когда сиклтест 8.0 был в состоянии разработки, и руководство с версией 8.0 вышли примерно одновременно

это потом уже появилась версия 2006, там были изменения, но руководство так и не исправили
лодыри какие-то писали, ей богу
  • 0

TestComplete для начинающих (видеозаписи курса)

Software Testing Automation Tips (50 вещей, которые должен знать каждый автоматизатор, книга на английском языке)

Онлайн-учебник "Автоматизация тестирования от «А» до «Ы»"
Сборник рецептов по TestComplete (книга на английском языке)
Онлайн-учебник по TestComplete
Онлайн-учебник по SilkTest


#19 Evgenij_Ul

Evgenij_Ul

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

  • Members
  • PipPip
  • 77 сообщений
  • ФИО:Чирочкин Евгений
  • Город:Ульяновск

Отправлено 06 ноября 2007 - 13:19

Здравствуйте, вот появилась новая проблема с распаралеленым запуском тесткейсов:
Из базы данных считываются тесткейсы и параметры, которые потом будут запускаться:
[-] for each sTestcaseID in testchains[i]
				[ ] query = "SELECT params  FROM testchains WHERE testcaseID = '"+sTestcaseID+"'"
				[ ] hstmnt = DB_ExecuteSql (hdbc,query)
				[-] while (DB_FetchNext (hstmnt,sTestcaseParams))
					[ ] @("{sTestcaseID}") (TestcaseParams)
Но в этом коде возникает проблема когда в качестве параметра передается например такая комбинация: 1а, 2б. так как в идеале в тесткей нужно передать так: testcase_name("1a","2b",...,"3n"), а передать получается только строку: "1a,2b", есть какойто способ наподобие eval("1a,2b"), который бы дал результат с точки зрения интерпретатора силк тест как "1а","2b"?
Надеюсь понятна проблема. Как можно ее решить?
  • 0

#20 KaNoN

KaNoN

    АЦЦКИЙ СОТОНА

  • Members
  • PipPipPipPipPipPip
  • 1 260 сообщений
  • ФИО:Колесник Николай
  • Город:Днепропетровск > Киев > Лондон

Отправлено 06 ноября 2007 - 14:28

Здравствуйте, вот появилась новая проблема с распаралеленым запуском тесткейсов:
Из базы данных считываются тесткейсы и параметры, которые потом будут запускаться:

[-] for each sTestcaseID in testchains[i]
				[ ] query = "SELECT params  FROM testchains WHERE testcaseID = '"+sTestcaseID+"'"
				[ ] hstmnt = DB_ExecuteSql (hdbc,query)
				[-] while (DB_FetchNext (hstmnt,sTestcaseParams))
					[ ] @("{sTestcaseID}") (TestcaseParams)
Но в этом коде возникает проблема когда в качестве параметра передается например такая комбинация: 1а, 2б. так как в идеале в тесткей нужно передать так: testcase_name("1a","2b",...,"3n"), а передать получается только строку: "1a,2b", есть какойто способ наподобие eval("1a,2b"), который бы дал результат с точки зрения интерпретатора силк тест как "1а","2b"?
Надеюсь понятна проблема. Как можно ее решить?

Посмотрите оператор ArgListCall. Это то, что вам нужно. По аналогии с вашим примером, нужная строка вызова может быть записана в виде
ArgListCall( "sTestCaseID", TestCaseParams )

  • 0


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

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