Rally - HP ALM - HP ALM Config Copy-TestCases-and-Steps pxml
search cancel

Rally - HP ALM - HP ALM Config Copy-TestCases-and-Steps pxml

book

Article ID: 125042

calendar_today

Updated On:

Products

Rally On-Premise Rally SaaS

Issue/Introduction

Used to copy CA Agile Central's "Test Cases" and "Steps" to QC, and to copy QC's "Tests" and "Design Steps" to CA Agile Central.

Resolution

QC-Copy-TestCases-and-Steps.pxml

Used to copy CA Agile Central's "Test Cases" and "Steps" to QC, and to copy QC's "Tests" and "Design Steps" to CA Agile Central.

Below are three sections relating to this QC connector run:

  1. This configuration file: QC-Copy-TestCases-and-Steps.pxml
  2. Logfile outputs from three different runs:
    • COPY_RALLY_TO_QC
    • COPY_QC_RALLY
    • COPY_QC_RALLY, a folder structure

Configuration file QC-Copy-TestCases-and-Steps.pxml

<!-- ==============================================================     -->
<!-- Block Comments start...

Name:   QC-Copy-TestCases-and-Steps.pxml
        
Notes and Warnings on use:
        1) This functionality supports COPY only, not UPDATE.
        2) The QC folder specified in the <TestFolder> element is used for
           both directions, i.e. for Rally-to-QC and QC-to-Rally.
        3) The HTML text in QC's Design Steps is not handled at all,
           it appears as HTML in Rally.
        4) Both Rally's Steps and Validation Inputs get copied to QC as
           QC as Steps. 


Rally to QC: Copying "Test Cases" and "Steps" to QC:
        1) In the Rally GUI, go to "Quality" >> "Test Cases".
        2) Create a new Test Case; in the "Steps" (at bottom of edit window),
           click on the icon to its right and select "3" (to create 3 steps).
           Fill in date (the "Input" and "Expected Result") for each of the
           three steps.
        3) In QC, under "Testing" >> "Test Plan", create a subfolder to the
           "Subject" folder; call it "Level1". Then under the "Level1" folder,
           create a "Level2" folder. We will use this in:
                <TestFolder>Level2</TestFolder>
        4) Run the connector using this configuration file modified to fit
           your environment.
        5) In QC, under "Testing" >> "Test Plan" go to folder:
                 "Subject" >> "Level1" >> "Level2"
           you should see your Rally "Test Case" under the "Details" tab.
           And under the "Design Steps" tab, you should see the three
           Rally "Steps" you create on the Rally "Test Case" with their
           "Input" and "Expected Result" saved in QC as "Description" and
           "Expected Result".


QC to Rally: Copying "Tests" and "Design Steps" to Rally:
        1) In QC, under "Testing" >> "Test Plan", create a subfolder to the
           "Subject" folder; call it "Level1". Then under the "Level1" folder,
           create a "Level2" folder. We will use this in:
                <TestFolder>Level2</TestFolder>
        2) Within the "Level2" folder, create a new "Test" and to it, add
           three "Design Steps".
        3) Run the connector using this configuration file modified to fit
           your environment.
        4) In Rally, a "TestCase" is created under the "Quality" > "Test Cases"
           tab. This new "TestCase" will have three "Steps" (from the "Design Steps"
           in QC).

        5) Only the "Tests" within the QC Test Plan folder specified in the
           <TestFolder> element will be copied, and not the Tests that reside
           in a subfolder of the specified folder. To get more, see next item.

        6) To Copy the entire structure of a QC "Test Plan" folder into a
           flat structure in Rally: instead of using the <TestFolder> element
           as outline above, use a <CopySelector> and specify the full path
           to the folder where you want the copy to start from. You must
           surround the path name with carot ("^") symbols.  This will copy
           all items in the specified folder and it's subordinate (child)
           folders into a flat structure on the Rally side. For Example:

                <CopySelectors>
                        <CopySelector>TS_SUBJECT = (^Subject\Level1^)</CopySelector>
                </CopySelectors>

... Block Comments end. -->
<!-- ==============================================================     -->

<Config>
        <RallyConnection>
                <Url>rally1.rallydev.com</Url>
                <WorkspaceName>Workspace1</WorkspaceName>
                <Projects>
                        <Project>PR01</Project>
                </Projects>
                <User>[email protected]</User>
                <Password>encoded-x-x-x-x-x-x-x-x-x-x-x-=-</Password>
                <ArtifactType>TestCase</ArtifactType>
                <ExternalIDField>QCPR01ExtID</ExternalIDField>
                <CopySelectors>
                        <CopySelector>FormattedID = TC135</CopySelector>
                </CopySelectors>
        </RallyConnection>

        <QCConnection>
                <Url><QC_server>:8080</Url>
                <Domain>DEFAULT</Domain>
                <Project>TESTproject11</Project>
                <User>testuser</User>
                <Password>encoded-x-x-x-x-x-x-x-x-x-x-x-=-</Password>
                <ArtifactType>TEST</ArtifactType>
                <IDField>TS_TEST_ID</IDField>
                <ExternalIDField>TS_USER_01</ExternalIDField>
                <ExternalEndUserIDField>TS_USER_03</ExternalEndUserIDField>
<!-- Use one or the other:
                <TestFolder>Level2</TestFolder>
-->
<!-- Use one or the other:
-->
                <CopySelectors>
                        <CopySelector>TS_SUBJECT = (^Subject\Level1^)</CopySelector>
                </CopySelectors>
        </QCConnection>

        <Connector>
                <FieldMapping>
                        <Field><Rally>Name</Rally>              <Other>TS_NAME</Other></Field>
                        <Field><Rally>WorkProduct</Rally>       <Other>TS_USER_04</Other></Field>
                        <Field><Rally>Description</Rally>       <Other>TS_DESCRIPTION</Other></Field>
                </FieldMapping>

                <RelatedObjectLinkers> 
                        <QCToRallyTestStepLinker/> 

                        <RallyToQCTestStepLinker>
                                <ValidationStep>Last</ValidationStep>
                                <StepFields>
                                        <Field><Rally>Input</Rally>             <Other>DS_DESCRIPTION</Other></Field>
                                        <Field><Rally>ExpectedResult</Rally>    <Other>DS_EXPECTED</Other></Field>
                                </StepFields>
                        </RallyToQCTestStepLinker>
                </RelatedObjectLinkers> 

                <RallyFieldHandlers>
                        <RallyReferenceFieldHandler>
                                <FieldName>WorkProduct</FieldName>
                                <ReferencedFieldLookupID>FormattedID</ReferencedFieldLookupID>
                        </RallyReferenceFieldHandler>
                </RallyFieldHandlers>
        </Connector>

        <ConnectorRunner>
                <Preview>false</Preview>
                <LogLevel>Debug</LogLevel>
                <Services>COPY_QC_TO_RALLY</Services>
        </ConnectorRunner>
</Config>