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

Публикации uhazhor

24 публикаций создано uhazhor (учитываются публикации только с 27 апреля 2023)


#100436 Hudson CI - выполнение зависимых задач

Отправлено автор: uhazhor 03 февраля 2012 - 13:11 в Автоматизированное тестирование

Build Pipeline Plugin - не помог, но помог Join Plugin!

Спасибо!



#100415 Hudson CI - выполнение зависимых задач

Отправлено автор: uhazhor 03 февраля 2012 - 10:47 в Автоматизированное тестирование

Я уже пробовал

1. В настройках первой задачи
Послесборочные операции -> Собрать другой проект -> <Имя проекта второй задачи> -> Собирать даже если сборка нестабильна

2. В настройках второй задачи
Триггеры сборки -> Запустить сборку после завершения другой -> <Имя проекта первой задачи>

Это результатов не дало. Если ошибка первой задачи, то вторая задача не выполняется.



#100402 Hudson CI - выполнение зависимых задач

Отправлено автор: uhazhor 03 февраля 2012 - 07:25 в Автоматизированное тестирование

Всем привет!

У меня хадсон настроен таким образом, что выполнение одной (первой) задачи порождает выполнение другой (зависимой/второй) задачи. Однако, если по каким либо причинам выполнение первой задачи завершается ошибкой, то выполнение второй (зависимой) задачи не производится.

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



#98973 XPath Match - отсекание неизвестного кол-ва параметров в body

Отправлено автор: uhazhor 21 декабря 2011 - 06:36 в Автоматизированное тестирование

У кого нибудь появились какие идеи насчет решения проблемы:

в ответ приходит
<cli:clientProductsContainer>
            <cma:systemCode xmlns:cma="http://spb.localhost.ru/CMA">HMR</cma:systemCode>
            <cma:isError xmlns:cma="http://spb.localhost.ru/CMA">false</cma:isError>
            <cma:clientProductsResult xmlns:cma="http://products.localhost.net/CMA">
               <cma:creditLoan>
                  <cma:contractNumber>1</cma:contractNumber>
                  <cma:productName>0-1-0</cma:productName>
                ...
а нужно првоерять ответ только по
            <cma:systemCode xmlns:cma="http://spb.localhost.ru/CMA">HMR</cma:systemCode>
            <cma:isError xmlns:cma="http://spb.localhost.ru/CMA">false</cma:isError>



#98395 XPath Match - отсекание неизвестного кол-ва параметров в body

Отправлено автор: uhazhor 08 декабря 2011 - 06:17 в Автоматизированное тестирование

это проверка возвращает значение - true, что не правильно. До сих пор не победил это проблему :)



#98297 авторизация при вызове soap сервиса

Отправлено автор: uhazhor 06 декабря 2011 - 13:03 в Автоматизированное тестирование

Проблема решена!



#98296 выбор инструмента для проверки веб сервисов и JDBC

Отправлено автор: uhazhor 06 декабря 2011 - 13:03 в Автоматизированное тестирование

Проблема решена!



#98295 авторизация при вызове soap сервиса

Отправлено автор: uhazhor 06 декабря 2011 - 13:01 в Автоматизированное тестирование

да, спасибо. разобрался с этим, полезная вещь :)
использовал более глобально на уровне проекта ${#Project#login})



#98294 XPath Match - отсекание неизвестного кол-ва параметров в body

Отправлено автор: uhazhor 06 декабря 2011 - 12:59 в Автоматизированное тестирование

2. типа этого?

declare namespace cli='http://spb.localhost.ru/CMA/ClientProductWS';
declare cma='http://spb.localhost.ru/CMA';
exists(//cli:clientProductsContainer[1]/cma:systemCode[1]) and exists(//cli:clientProductsContainer[1]/cma:isError[1]);

а так я не понял, что нужно проверить :blush:


да, примерно правильно, только я пробовал уже это, мне всегда эти условие возвращает "false", например
declare namespace cma='http://products.localhost.net/CMA';
declare namespace cli='http://spb.localhost.ru/CMA/ClientProductWS';
exists(//cli:clientProductsContainer[1]/cma:systemCode[1])


а мне нужно такое условие, которое будет производить проверку только по:
<cli:clientProductsContainer>
            <cma:systemCode xmlns:cma="http://spb.localhost.ru/CMA">HMR</cma:systemCode>
            <cma:isError xmlns:cma="http://spb.localhost.ru/CMA">false</cma:isError>
а что там после этих строк не важно, потому что не известно сколько там будет строк и какие занчения :)
вот такие дела :)



#98273 XPath Match - отсекание неизвестного кол-ва параметров в body

Отправлено автор: uhazhor 06 декабря 2011 - 08:44 в Автоматизированное тестирование

знатоки!!! аууу!!! :)



#98272 выбор инструмента для проверки веб сервисов и JDBC

Отправлено автор: uhazhor 06 декабря 2011 - 08:43 в Автоматизированное тестирование

там все отлично проверяется.
Чот вы имеете в виду под "автоматизировать "?


автоматизировать - т.е. автоматизация функционального тестирования

спасибо. убедился что в бесплатной версии все прекрасно работает.

если имеется возможность, прошу помощи:
http://software-test...um/topic/21377/
http://software-test...um/topic/21402/



#98259 авторизация при вызове soap сервиса

Отправлено автор: uhazhor 06 декабря 2011 - 06:04 в Автоматизированное тестирование

У меня в soap имеется проект, в котором имеется test suite с достаточно большим кол-вом тесткейсов, в рамках которых вызываются soap сервисы, требующие авторизацию (одни и те же логин и пароль).

В properties проекта добавил два параметра:
login - значение login1
pswd - значение pswd1

Открываю свойства test suite проекта - там видимо объявляются свои параметры, т.е. не отобразились параметры из свойства проекта.

Вопрос:
Каким образом можно глобально объявить логин и пароль для всех тесткейсов (вызываемых soap сервисов), чтобы потом можно было одним действием изменить логин или пароль сразу для всех тесткейсов?



#98171 XPath Match - отсекание неизвестного кол-ва параметров в body

Отправлено автор: uhazhor 05 декабря 2011 - 07:44 в Автоматизированное тестирование

Всем привет!

Собственно с чем я столкнулся...

Что у меня имеется:
1) soapUI бесплатный
2) xml soap-запроса
3) xml soap-ответа
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/">
   <soapenv:Body>
      <cli:getClientProductsResponse xmlns:cli="http://spb.localhost.ru/CMA/ClientProductWS">
         <cli:clientProductsContainer>
            <cma:systemCode xmlns:cma="http://spb.localhost.ru/CMA">HMR</cma:systemCode>
            <cma:isError xmlns:cma="http://spb.localhost.ru/CMA">false</cma:isError>
            <cma:clientProductsResult xmlns:cma="http://products.localhost.net/CMA">
               <cma:creditLoan>
                  <cma:contractNumber>1</cma:contractNumber>
                  <cma:productName>0-1-0</cma:productName>
		...
               </cma:creditLoan>
               <cma:creditLoan>
                  <cma:contractNumber>2</cma:contractNumber>
                  <cma:productName>0-2-0</cma:productName>
		...
               </cma:creditLoan>
               <cma:creditLoan>
                  <cma:contractNumber>3</cma:contractNumber>
                  <cma:productName>0-3-0</cma:productName>
		...
               </cma:creditLoan>

		...

            </cma:clientProductsResult>
         </cli:clientProductsContainer>
         <cli:clientProductsContainer>
            <cma:systemCode xmlns:cma="http://spb.localhost.ru/CMA">TW</cma:systemCode>
            <cma:isError xmlns:cma="http://spb.localhost.ru/CMA">false</cma:isError>
            <cma:clientProductsResult xmlns:cma="http://products.localhost.net/CMA"/>
         </cli:clientProductsContainer>
         <cli:clientProductsContainer>
            <cma:systemCode xmlns:cma="http://spb.localhost.ru/CMA">SBA</cma:systemCode>
            <cma:isError xmlns:cma="http://spb.localhost.ru/CMA">true</cma:isError>
         </cli:clientProductsContainer>
      </cli:getClientProductsResponse>
   </soapenv:Body>
</soapenv:Envelope>

4) XPath Assertion:
declare namespace cli='http://spb.localhost.ru/CMA/ClientProductWS';
//cli:clientProductsContainer[1]
select from current которого выдает ответ:
         <cli:clientProductsContainer>
            <cma:systemCode xmlns:cma="http://spb.localhost.ru/CMA">HMR</cma:systemCode>
            <cma:isError xmlns:cma="http://spb.localhost.ru/CMA">false</cma:isError>
            <cma:clientProductsResult xmlns:cma="http://products.localhost.net/CMA">
               <cma:creditLoan>
                  <cma:contractNumber>1</cma:contractNumber>
                  <cma:productName>0-1-0</cma:productName>
		...
               </cma:creditLoan>
               <cma:creditLoan>
                  <cma:contractNumber>2</cma:contractNumber>
                  <cma:productName>0-2-0</cma:productName>
		...
               </cma:creditLoan>
               <cma:creditLoan>
                  <cma:contractNumber>3</cma:contractNumber>
                  <cma:productName>0-3-0</cma:productName>
		...
               </cma:creditLoan>

		...

            </cma:clientProductsResult>
         </cli:clientProductsContainer>

Что нужно:
Сформировать условие анализа soap-ответа только по значениям (так сказать 3 условия):
<cma:systemCode xmlns:cma="http://spb.localhost.ru/CMA">HMR</cma:systemCode>
<cma:isError xmlns:cma="http://spb.localhost.ru/CMA">false</cma:isError>
<cma:systemCode xmlns:cma="http://spb.localhost.ru/CMA">TW</cma:systemCode>
<cma:isError xmlns:cma="http://spb.localhost.ru/CMA">false</cma:isError>
<cma:systemCode xmlns:cma="http://spb.localhost.ru/CMA">SBA</cma:systemCode>
<cma:isError xmlns:cma="http://spb.localhost.ru/CMA">true</cma:isError>

Какая возникла сложность:
1. Каким либо образом возможно эти 3 условия указать в одном XPath Assertion?
2. Для первого условия заранее неизвестно сколько вернется
<cma:creditLoan>
...
</cma:creditLoan>

Как обрезать условие
<cma:systemCode xmlns:cma="http://spb.localhost.ru/CMA">HMR</cma:systemCode>
<cma:isError xmlns:cma="http://spb.localhost.ru/CMA">false</cma:isError>
от
<cma:creditLoan>
...
</cma:creditLoan>
???



#98151 выбор инструмента для проверки веб сервисов и JDBC

Отправлено автор: uhazhor 04 декабря 2011 - 16:14 в Автоматизированное тестирование


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

Советую посмотреть соседнюю тему: http://software-test...um/topic/21212/
Плюс: что за вебсервисы? По какому протоколу ни работают? В каком виде прихдят ответы от внешних веб-сервисов?

запросы и ответы - soap

я так понял в бесплатной версии soapUI нельзя автоматизировать проверку ответов веб сервисов. или я ошибаюсь?



#98143 выбор инструмента для проверки веб сервисов и JDBC

Отправлено автор: uhazhor 04 декабря 2011 - 13:32 в Автоматизированное тестирование

Коллеги, нужна ваша помощь в совете.

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

Вопрос:
Каким инструментом можно это реализовать, желательно бесплатным? И каким образом



#94943 Корреляция

Отправлено автор: uhazhor 29 сентября 2011 - 16:41 в Hewlett-Packard (Mercury) - Тестирование производительности

Я получу значение и положу в переменную DocNum
web_reg_save_param("DocNum", "LB=<Number>", "RB=</Number>", "Search=body", LAST);

а каким образом мне указать значение этой переменной (DocNum) вместо "326960" уже в следующем запросе?
<Number>"значение переменной DocNum"</Number>...

и нужно ли объявлять переменную DocNum?



#94931 Корреляция

Отправлено автор: uhazhor 29 сентября 2011 - 12:08 в Hewlett-Packard (Mercury) - Тестирование производительности


у меня Load runner 11, у меня возник вопрос при создании скрипта нагрузочного тестирования... тестируемая функциональность состоит из двух частей: в первой части нужно получить значение, а второй части передать. Т.е. изъять значение, положить в переменную для дальнейшего его использования.
Начну с полученного ответа, нужное значение я вижу в результате отработки скрипта, в разделе Generation Log.

$$ Response Header For Transaction With Id 827 Ended $$

****** Response Body For Transaction With Id 827 ******
<?xml version="1.0" encoding="utf-8"?><componentDocuments xmlns:xsi="http://www.w3.org/20...chema-instance" xmlns:xsd="http://www.w3.org/20...mponentDocument Version="3.0" HandlesDeclears="false"><header><flow ID="StandardFlow" nodeID="ShowScreen" flowInstanceID="41352385-c39e-442a-b86c-ef2717e59066" flowInstanceCount="40" flowPersistenceID="">\.... <Date>31/08/2011</Date><Number>326960</Number>...

А как изъять из полученного ответа значение "326960" и поместить в переменную? Если я не ошибаюсь то существует функция - web_reg_save_param. А как ее использовать для обработки именно полученного ответа?


Например, я делаю так:

vuser_init
vuser_init()
{
	int status;

	//Создаем сессию и передаем SESSION_ID в Action();


	web_reg_save_param("OpenSession", "LB=", "RB=", "Search=body", LAST);

	status = web_url("OpenSession",
				     "URL={has_settings}/OPEN_SESSION?LOGIN=bla-bla&PASSWORD=bla-bla",
				     "Resource=0",
				     "Referer=",
				     "RecContentType=text/xml",
				     LAST);

	if (status == LR_PASS) {
		lr_log_message("***** STATUS OpenSession: %d *****",status);
		// Парсим XML и получаем из него SESSION_ID
		lr_xml_get_values("Xml={OpenSession}", 
					  	"Query=SESSION_ID", 
					  	"ValueParam=ParamSessionId", 
					  	LAST); 

	lr_log_message(lr_eval_string("***** SESSION_ID = {ParamSessionId} *****"));
	}
	else {
		lr_error_message("Error in OpenSession at iteration #%s", lr_eval_string ("{iteration}")); 
		lr_exit(LR_EXIT_VUSER, LR_FAIL);
	}

<skip>


Action

<skip>
status = web_url("TST_DYN_CACHE_GET_BY_MSISDN",
		"URL={has_settings}/TST_DYN_CACHE_GET_BY_MSISDN?SESSION_ID={ParamSessionId}&CHANNEL=WWW&MSISDN=6660000000",
		"Resource=0",
		"Referer=",
		"RecContentType=text/xml",
		LAST
	);
<skip>


Допустим, если у меня отработает
web_reg_save_param("DocNum", "LB=<Number>", "RB=</Number>", "Search=body", LAST);

то каким образом мне указать эту переменную (DocNum) вместо "326960" уже в следующем запросе:
<Number>326960</Number>...

???



#94930 Корреляция

Отправлено автор: uhazhor 29 сентября 2011 - 12:02 в Hewlett-Packard (Mercury) - Тестирование производительности

Посмотрите здесь.

PS
web_reg_save_param использует ReplayLog, а не Generation Log


Но к сожалению, я не вижу ответа от сервера в Replay Log (хотя ответ должен приходить, потому что создается некий документ, и должен возвращаться его номер). Быть может где то настраивается уровень логирования Replay Log?



#94876 Корреляция

Отправлено автор: uhazhor 28 сентября 2011 - 18:32 в Hewlett-Packard (Mercury) - Тестирование производительности

у меня Load runner 11, у меня возник вопрос при создании скрипта нагрузочного тестирования... тестируемая функциональность состоит из двух частей: в первой части нужно получить значение, а второй части передать. Т.е. изъять значение, положить в переменную для дальнейшего его использования.
Начну с полученного ответа, нужное значение я вижу в результате отработки скрипта, в разделе Generation Log.

$$$$$$ Response Header For Transaction With Id 827 Ended $$$$$$

****** Response Body For Transaction With Id 827 ******
<?xml version="1.0" encoding="utf-8"?><componentDocuments xmlns:xsi="http://www.w3.org/20...chema-instance" xmlns:xsd="http://www.w3.org/20...mponentDocument Version="3.0" HandlesDeclears="false"><header><flow ID="StandardFlow" nodeID="ShowScreen" flowInstanceID="41352385-c39e-442a-b86c-ef2717e59066" flowInstanceCount="40" flowPersistenceID="">\.... <Date>31/08/2011</Date><Number>326960</Number>...

А как изъять из полученного ответа значение "326960" и поместить в переменную? Если я не ошибаюсь то существует функция - web_reg_save_param. А как ее использовать для обработки именно полученного ответа?



#90329 Хранимая процедура MS SQL

Отправлено автор: uhazhor 26 июня 2011 - 14:19 в Автоматизированное тестирование

есть одно НО... вызываемая хранимая процедура не производит какие либо изменения в БД, а дергает некий прокси-сервис, в результате чего прокси-сервис возвращает ответ в хранимую процедуру. в описании DBUnit указано что он проверяет именно изменения производимые в БД. или все такие он может справиться с поставленной задачей, имеет ли смысл изучать DBUnit для решения этой задачи?



#90318 Хранимая процедура MS SQL

Отправлено автор: uhazhor 26 июня 2011 - 06:15 в Автоматизированное тестирование

Всем привет!

Ситуация следующая. Существует БД MS SQL, в которой имеется хранимая процедура. Вызываю эту хранимую процедуру, указав соответствующие значения в соответствующие параметры. В ответ возвращается всегда одна строка с одним и тем же набором полей. Задача такая. Нужно автоматизировать этот процесс: вызывать хранимую процедуру передавая соответствующие значения, обрабатывать и проверять то, что приходит в ответ.
Подскажите пжлста каким образом это можно осуществить? Может существуют какие либо специальные инструменты? Обычно я вызываю хранимую процедуру вручную в SQL Query Analyzer.



#89455 Вызов хранимой процедуры и анализ результата

Отправлено автор: uhazhor 01 июня 2011 - 16:44 в Автоматизированное тестирование

Знатоки? Подскажите пжлста как автоматизировать вызов процедуры и проверку результата?
результат приходит в виде нескольких строк с несколькими полями



#89399 Вызов хранимой процедуры и анализ результата

Отправлено автор: uhazhor 31 мая 2011 - 21:01 в Автоматизированное тестирование

Уважаемые знатоки, помогите мне пжлста. мне надо автоматически вызывать хранимую процедуру (БД MS SQL) с конкретными значениями, и анализировать результат (возвращаться будет порядка 20ти параметров) - верно или нет. возможно ли это реализовать с помощью soapui? или потребуется другой инструмент для автоматизации проверки работы хранимых процедур?



#87984 SOAP UI - как построить ответы в зависимости от запросов

Отправлено автор: uhazhor 06 мая 2011 - 11:56 в Автоматизированное тестирование

Всем привет!

SOAP UI использую в качестве заглушки (MockService).
Запрос с параметрами: InNum и InType. Ответ с параметрами: InAddres и InPhone. Значения в этом запросе разные, но поумолчанию всегда возвращается один и тот же ответ (Dispath: SIQUNCE). Мне нужно чтоб ответ зависел от такого что приходит в запросе. Например, если в запросе InNum=1 и InType=2 - возвращаетя InAddres=Адрес1 и InPhone=111111, а если в запросе InNum=2 и InType=3 - возвращаетя InAddres=Адрес2 и InPhone=222222, и т.д.
Подскажите пжлста как сделать так чтобы в моем случае ответ зависел от того какой запрос (какие значения в запросе)? Я так понимаю нужно создать нужное количество ответов (MockService), для них указать (Dispath: XPATH) и указать условие возвращаемых ответов, т.е для какого запроса какой ответ нужно возвращать. А как указать это условие? Прошу помощи.