From 14dc566eeaaeb4b68ca58f9cb2703e99f5c59d13 Mon Sep 17 00:00:00 2001 From: xucong053 Date: Thu, 30 Jun 2022 21:00:38 +0800 Subject: [PATCH] fix: step name with parameterize mechanism --- examples/hrp/parameters_test.json | 2 +- examples/hrp/parameters_test.yaml | 2 +- hrp/boomer.go | 11 +++++++++-- hrp/session.go | 9 ++++++++- 4 files changed, 19 insertions(+), 5 deletions(-) diff --git a/examples/hrp/parameters_test.json b/examples/hrp/parameters_test.json index 4af949ed..1763d755 100644 --- a/examples/hrp/parameters_test.json +++ b/examples/hrp/parameters_test.json @@ -31,7 +31,7 @@ }, "teststeps": [ { - "name": "get with params", + "name": "get with user: $username", "variables": { "foo1": "$username", "foo2": "$password", diff --git a/examples/hrp/parameters_test.yaml b/examples/hrp/parameters_test.yaml index 23fd8c01..b431d4b3 100644 --- a/examples/hrp/parameters_test.yaml +++ b/examples/hrp/parameters_test.yaml @@ -20,7 +20,7 @@ config: verify: False teststeps: - - name: get with params + - name: "get with user: $username" variables: foo1: $username foo2: $password diff --git a/hrp/boomer.go b/hrp/boomer.go index 839ebd15..fddc47df 100644 --- a/hrp/boomer.go +++ b/hrp/boomer.go @@ -125,18 +125,25 @@ func (b *HRPBoomer) convertBoomerTask(testcase *TestCase, rendezvousList []*Rend startTime := time.Now() for _, step := range testcase.TestSteps { + // parse step name + parsedName, err := sessionRunner.parser.ParseString(step.Name(), sessionRunner.sessionVariables) + if err != nil { + parsedName = step.Name() + } + stepName := convertString(parsedName) // reset start time only once before step once.Do(func() { b.Boomer.ResetStartTime() }) stepResult, err := step.Run(sessionRunner) + stepResult.Name = stepName if err != nil { // step failed var elapsed int64 if stepResult != nil { elapsed = stepResult.Elapsed } - b.RecordFailure(string(step.Type()), step.Name(), elapsed, err.Error()) + b.RecordFailure(string(step.Type()), stepResult.Name, elapsed, err.Error()) // update flag testcaseSuccess = false @@ -165,7 +172,7 @@ func (b *HRPBoomer) convertBoomerTask(testcase *TestCase, rendezvousList []*Rend // no record required } else { // request or testcase step - b.RecordSuccess(string(step.Type()), step.Name(), stepResult.Elapsed, stepResult.ContentSize) + b.RecordSuccess(string(step.Type()), stepResult.Name, stepResult.Elapsed, stepResult.ContentSize) // update extracted variables for k, v := range stepResult.ExportVars { sessionRunner.sessionVariables[k] = v diff --git a/hrp/session.go b/hrp/session.go index eae3b41a..6a57de06 100644 --- a/hrp/session.go +++ b/hrp/session.go @@ -64,10 +64,17 @@ func (r *SessionRunner) Start(givenVars map[string]interface{}) error { // run step in sequential order for _, step := range r.testCase.TestSteps { - log.Info().Str("step", step.Name()). + // parse step name + parsedName, err := r.parser.ParseString(step.Name(), r.sessionVariables) + if err != nil { + parsedName = step.Name() + } + stepName := convertString(parsedName) + log.Info().Str("step", stepName). Str("type", string(step.Type())).Msg("run step start") stepResult, err := step.Run(r) + stepResult.Name = stepName if err != nil { log.Error(). Str("step", stepResult.Name).