Как перенести значение из одного набора тестов в другой набор тестов в мыльном интерфейсе - PullRequest
2 голосов
/ 12 мая 2011

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

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

  1. Test Suite 1 имеет 40 тестовых случаев
  2. Test Suite 2 имеет 30 тестовых случаев

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

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

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

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

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

С уважением, Chandra

1 Ответ

1 голос
/ 13 мая 2011

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

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