如何将值从一个测试套件转移到soap ui中的另一个测试套件

时间:2011-05-12 11:53:46

标签: soapui

我在这里给出了我的要求,如果有人帮我解决这个问题。

我有两个测试套件。

  1. Test Suite 1它有40个测试用例
  2. Test Suite 2它有30个测试用例
  3. 我已经硬编码了使用者ID(这是测试套件1中的一个参数)。 套件1和套件中的每个测试用例都应该具有不同的消费者ID。所以我使用groovy脚本递增该值..

    所以我需要在测试套件1中执行40 TC后从测试套件中获取使用者id值,并将该值传递给测试套件2.

    有可能吗?

    例如,我在测试套件中将硬编码的消费者ID设为1。它将在每个tc中自动增加一个。最后它会来40。

    现在我需要在测试套件2中将40设置为消费者ID。

    此致 钱德拉

1 个答案:

答案 0 :(得分:1)

您可以使用“Property Transfer”测试步骤在soapUI中传输几乎任何值或变量。不幸的是,似乎这在测试套件之间不起作用。您可以尝试通过测试项目使用双重属性传输。

  1. 将消费者ID从测试套件#1传输到项目属性。
  2. 在启动此套件的第一个测试用例时,将消费者ID从项目属性传输到测试套件#2属性。
  3. 这是一个示例项目,可能是您正在寻找的。

    <?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>