Groovy ALM HpQC-Groovy例外-如何填充ST_ACTUAL设计步骤字段

问题描述 投票:-2回答:1

我正在尝试从SOAP-UI groovy脚本更新HpQC结果但我目前无法修改设计步骤的ST_ACTUAL字段,仅读取当前值。

每个尝试处理异常的行为(“ designStep.item(c).Field(ST_ACTUAL)”是一个方法调用表达式,但例如,它应该是一个变量表达式)

为了进行尝试,我需要进行两个步骤的测试。您能帮我解决问题,并告诉我哪里错了吗?预先,非常感谢您的帮助和解答。

//############# Connexion a HpQC ###############
def tdc = new ActiveXObject ('TDApiOle80.TDConnection')
tdc.InitConnectionEx(addresse_qc)
tdc.Login(login_qc, psw_qc)
tdc.Connect(domain_qc, project_qc)
log.info "*** connected to QC ***"

//Catch the testSet campain in the Test Lab
oTestSetFolder = tdc.TestSetTreeManager.NodeByPath(chemin_dans_qc)
list_TestSetList = oTestSetFolder.FindTestSets(testSet_name_qc)
oTestSet = list_TestSetList.Item(1)

//catch the test list in the Test Lab
oTestSetFactory = oTestSet.TSTestFactory
testList = oTestSetFactory.NewList("")
def nb_test = testList.Count()

// select first test (item(1) -- Current status test Run - should be  "No Run" 
selected_test = testList.Item(1) 
log.info("OnGoing test : " + "ID="+ selected_test.ID +" - "+ selected_test.name + " - status= "+selected_test.Status)

//  Create a new Test Run and modified final status for try
OnGoing_RunTest= selected_test.RunFactory.AddItem('Comment 1')
OnGoing_RunTest.Status = 'Blocked'
def b=OnGoing_RunTest.ID
OnGoing_RunTest.Post() 
OnGoing_RunTest.CopyDesignSteps()
OnGoing_RunTest.Post() 

 Stepslist_of_OnGoing_RunTest = OnGoing_RunTest.StepFactory.NewList("")
//def nbsteps= Stepslist_of_OnGoing_RunTest.count()
def c=1 
for(designStep in Stepslist_of_OnGoing_RunTest)
{
    // lecture designStep
    def a=designStep.ID
    // checking previous information : ok
    //log.info("DesignStep_ID="+designStep.ID)
    //log.info("ST_STEP_NAME = "+ designStep.field("ST_STEP_NAME"))
    //log.info("ST_STATUS = "+ designStep.field("ST_STATUS"))
    //log.info("ST_DESCRIPTION = "+ designStep.field("ST_DESCRIPTION"))
    //log.info("ST_EXPECTED = "+ designStep.field("ST_EXPECTED"))

    // updating Status and ST_ACTUAL field
    designStep.Status="Not Completed" // : OK

    // Updating ST_ACTUAL field
    // designStep.Field("ST_ACTUAL")="123" // => KO
    //designStep.item(c).Field("ST_ACTUAL")="123" // ==> KO
    // designStep.item(designStep.ID).Field("ST_ACTUAL")="123" // ==> KO
    // designStep.item(designStep.ID).Field("ST_ACTUAL")="123" // ==> KO

    c++ 
    log.info("ST_ACTUAL = "+ designStep.field("ST_ACTUAL"))
    designStep.post()
}

//Updating Run QC
selected_test.Post()
log.info("*** ---- END Test --- ***")
//#########  déconnection de QC  ############
tdc.Disconnect()
//On écrit dans le log
log.info("### -- QC disconnect -- ### -- END -- ###")
groovy alm
1个回答
0
投票

我从未在Groovy中尝试过,但是在Ruby中,我不得不使用类似的东西(对于本示例性代码未作试验:]

designStep["ST_ACTUAL"]="123"
© www.soinside.com 2019 - 2024. All rights reserved.