Как перенести значение из одного набора тестов в другой набор тестов в soap ui

#soapui

#soapui

Вопрос:

Здесь я даю свое требование, если кто-нибудь поможет мне решить это.

У меня есть два набора тестов.

  1. Набор тестов 1 содержит 40 тестовых примеров
  2. Набор тестов 2 содержит 30 тестовых примеров

Я жестко запрограммировал идентификатор потребителя (который является одним из параметров в наборе тестов 1). каждый тестовый пример в suite 1 и suite должен иметь разный идентификатор пользователя. итак, я увеличиваю это значение с помощью groovy script..

Итак, мне нужно взять значение идентификатора потребителя из набора тестов после выполнения 40 TC в наборе тестов 1 и передать это значение в набор тестов 2.

Возможно ли это?

Например, я жестко запрограммировал идентификатор потребителя как 1 в наборе тестов. оно будет автоматически увеличиваться на единицу в каждом tc. Наконец, наступит 40.

Теперь мне нужно установить 40 в качестве идентификатора потребителя в наборе тестов 2.

С уважением, Чандра

Комментарии:

1. Вы используете SoapUI или SoapUI Pro?

Ответ №1:

Вы можете перенести практически любое значение или переменную в SoapUI, используя тестовый шаг «Перенос свойств». К сожалению, кажется, что это не работает между наборами тестов. Вы могли бы попробовать использовать двойную передачу свойств через тестовый проект.

  1. Перенесите идентификатор потребителя из набора тестов # 1 в свойство проекта.
  2. Перенесите идентификатор потребителя из свойства 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>