#soapui
#soapui
Вопрос:
Здесь я даю свое требование, если кто-нибудь поможет мне решить это.
У меня есть два набора тестов.
- Набор тестов 1 содержит 40 тестовых примеров
- Набор тестов 2 содержит 30 тестовых примеров
Я жестко запрограммировал идентификатор потребителя (который является одним из параметров в наборе тестов 1). каждый тестовый пример в suite 1 и suite должен иметь разный идентификатор пользователя. итак, я увеличиваю это значение с помощью groovy script..
Итак, мне нужно взять значение идентификатора потребителя из набора тестов после выполнения 40 TC в наборе тестов 1 и передать это значение в набор тестов 2.
Возможно ли это?
Например, я жестко запрограммировал идентификатор потребителя как 1 в наборе тестов. оно будет автоматически увеличиваться на единицу в каждом tc. Наконец, наступит 40.
Теперь мне нужно установить 40 в качестве идентификатора потребителя в наборе тестов 2.
С уважением, Чандра
Комментарии:
1. Вы используете SoapUI или SoapUI Pro?
Ответ №1:
Вы можете перенести практически любое значение или переменную в SoapUI, используя тестовый шаг «Перенос свойств». К сожалению, кажется, что это не работает между наборами тестов. Вы могли бы попробовать использовать двойную передачу свойств через тестовый проект.
- Перенесите идентификатор потребителя из набора тестов # 1 в свойство проекта.
- Перенесите идентификатор потребителя из свойства project в свойство test suite # 2 при запуске первого тестового примера этого набора.
Вот пример проекта, который может быть тем, что вы ищете.
<?xml version="1.0" encoding="UTF-8"?>
<con:soapui-project name="Test Project" resourceRoot="" soapui-version="3.6.1"
xmlns:con="http://eviware.com/soapui/config">
<con:settings/>
<con:testSuite name="TestSuite 1">
<con:settings/>
<con:runType>SEQUENTIAL</con:runType>
<con:testCase failOnError="true" failTestCaseOnErrors="true" keepSession="false"
maxResults="0" name="Last TestCase" searchProperties="true">
<con:settings/>
<con:testStep type="transfer" name="Property Transfer">
<con:settings/>
<con:config xsi:type="con:PropertyTransfersStep"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<con:transfers setNullOnMissingSource="true" transferTextContent="true"
failOnError="true" ignoreEmpty="false" transferToAll="false"
useXQuery="false" entitize="false" transferChildNodes="false">
<con:name>Consumer ID</con:name>
<con:sourceType>Consumer ID</con:sourceType>
<con:sourceStep>#TestSuite#</con:sourceStep>
<con:targetType>Consumer ID</con:targetType>
<con:targetStep>#Project#</con:targetStep>
</con:transfers>
</con:config>
</con:testStep>
<con:testStep type="groovy" name="Groovy Script">
<con:settings/>
<con:config>
<script>def consumerId = context.expand( '${#TestSuite#Consumer ID}' ) </script>
</con:config>
</con:testStep>
<con:properties/>
<con:reportParameters/>
</con:testCase>
<con:properties>
<con:property>
<con:name>Consumer ID</con:name>
<con:value>1</con:value>
</con:property>
</con:properties>
<con:reportParameters/>
</con:testSuite>
<con:testSuite name="TestSuite 2">
<con:settings/>
<con:runType>SEQUENTIAL</con:runType>
<con:testCase failOnError="true" failTestCaseOnErrors="true" keepSession="false"
maxResults="0" name="TestCase 1" searchProperties="true"
id="484d355d-8bab-442c-b3ae-5d2c131d9317">
<con:settings/>
<con:properties/>
<con:reportParameters/>
</con:testCase>
<con:properties>
<con:property>
<con:name>Consumer ID</con:name>
<con:value>test</con:value>
</con:property>
</con:properties>
<con:setupScript>def consumerId = context.expand( '${#Project#Consumer ID}' )
testSuite.setPropertyValue('Consumer ID', consumerId)</con:setupScript>
<con:reportParameters/>
</con:testSuite>
<con:requirements/>
<con:properties>
<con:property>
<con:name>Consumer ID</con:name>
<con:value>test</con:value>
</con:property>
</con:properties>
<con:wssContainer/>
<con:databaseConnectionContainer/>
<con:reporting>
<con:reportTemplates/>
<con:xmlTemplates/>
<con:parameters/>
</con:reporting>
</con:soapui-project>