2012-10-21 97 views

回答

1

以下是如何做到這一點一個簡單的例子:

#!/usr/bin/env python 

    ################################################################################################# 
    # 
    # createtestcasewithsteps.py -- Create a TestCase, add Test Steps 
    # 
    USAGE = """ 
    Usage: createtestcasewithsteps.py 
    """ 
    ################################################################################################# 

    import sys, os 
    from pyral import Rally, rallySettings 

    my_server  = "rally1.rallydev.com" 
    my_user  = "[email protected]" 
    my_password = "password" 
    my_workspace = "My Workspace" 
    my_project  = "My Project" 

    rally = Rally(my_server, my_user, my_password, workspace=my_workspace, project=my_project) 
    rally.enableLogging('createtestcasewithsteps.log') 

    # For a TestCase: Name, Method, Type are required; 
    # Workspace cannot be specified in the JSON, it defaults to 
    # the logged in account's Workspace setting 
    # The TestCase can optionally be associated to a WorkProduct 
    # Project and WorkProduct must be object refs to relevant Rally Entity instances. 
    # In this example the WorkProduct is a Defect. 

    target_project = rally.getProject() 
    target_defect_id = "DE4" 
    target_defect = rally.get('Defect', query='FormattedID = %s' % target_defect_id, instance=True) 

    testcase_fields = { 
      "Project"  : target_project.ref, 
      "WorkProduct" : target_defect.ref, 
      "Name"  : "Data Import Automated Test 01", 
      "Method"  : "Automated", 
      "Type"  : "Regression" 
      } 

    print "Creating Test Case ..." 
    testcase = rally.put('TestCase', testcase_fields) 
    print "Created TestCase: %s OID: %s" % (testcase.FormattedID, testcase.oid) 

    # Add Test Case Steps 
    # 
    for i in range(3): 

     input="Step Input for Step: "+str(i) 
     expected_result="Expected Result for Step: "+str(i) 

     testcasestep_fields = { 
      "TestCase"   : testcase.ref, 
      "StepIndex"   : i, 
      "Input"    : input, 
      "ExpectedResult" : expected_result 
     } 

     testcasestep = rally.put('TestCaseStep', testcasestep_fields) 
     print "===> Created TestCaseStep: %s OID: %s" % (testcasestep.StepIndex, testcasestep.oid) 
+0

感謝您的幫助馬克。這實際上工作。但我還有一個問題。在TestCaseStep的放入請求中,JSON參數具有「StepIndex」。我無法在[參考文檔](https://pyral.readthedocs.org/en/latest/index.html)中找到有關參數的任何詳細信息。 – user1207929

+0

查看Rally Webservices API(WSAPI)文檔:https://rally1.rallydev.com/slm/doc/webservice/並查找TestCaseStep左側的鏈接。這裏描述了WSAPI中的所有對象以及屬性,所需字段等。 – 2012-10-21 18:35:19

相關問題