mirror of
https://github.com/httprunner/httprunner.git
synced 2026-05-06 20:32:44 +08:00
fix: step name with parameterize mechanism
This commit is contained in:
@@ -31,7 +31,7 @@
|
||||
},
|
||||
"teststeps": [
|
||||
{
|
||||
"name": "get with params",
|
||||
"name": "get with user: $username",
|
||||
"variables": {
|
||||
"foo1": "$username",
|
||||
"foo2": "$password",
|
||||
|
||||
@@ -20,7 +20,7 @@ config:
|
||||
verify: False
|
||||
|
||||
teststeps:
|
||||
- name: get with params
|
||||
- name: "get with user: $username"
|
||||
variables:
|
||||
foo1: $username
|
||||
foo2: $password
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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).
|
||||
|
||||
Reference in New Issue
Block a user