mirror of
https://github.com/httprunner/httprunner.git
synced 2026-07-12 16:01:27 +08:00
fix: step name with parameterize mechanism
This commit is contained in:
@@ -31,7 +31,7 @@
|
|||||||
},
|
},
|
||||||
"teststeps": [
|
"teststeps": [
|
||||||
{
|
{
|
||||||
"name": "get with params",
|
"name": "get with user: $username",
|
||||||
"variables": {
|
"variables": {
|
||||||
"foo1": "$username",
|
"foo1": "$username",
|
||||||
"foo2": "$password",
|
"foo2": "$password",
|
||||||
|
|||||||
@@ -20,7 +20,7 @@ config:
|
|||||||
verify: False
|
verify: False
|
||||||
|
|
||||||
teststeps:
|
teststeps:
|
||||||
- name: get with params
|
- name: "get with user: $username"
|
||||||
variables:
|
variables:
|
||||||
foo1: $username
|
foo1: $username
|
||||||
foo2: $password
|
foo2: $password
|
||||||
|
|||||||
@@ -125,18 +125,25 @@ func (b *HRPBoomer) convertBoomerTask(testcase *TestCase, rendezvousList []*Rend
|
|||||||
|
|
||||||
startTime := time.Now()
|
startTime := time.Now()
|
||||||
for _, step := range testcase.TestSteps {
|
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
|
// reset start time only once before step
|
||||||
once.Do(func() {
|
once.Do(func() {
|
||||||
b.Boomer.ResetStartTime()
|
b.Boomer.ResetStartTime()
|
||||||
})
|
})
|
||||||
stepResult, err := step.Run(sessionRunner)
|
stepResult, err := step.Run(sessionRunner)
|
||||||
|
stepResult.Name = stepName
|
||||||
if err != nil {
|
if err != nil {
|
||||||
// step failed
|
// step failed
|
||||||
var elapsed int64
|
var elapsed int64
|
||||||
if stepResult != nil {
|
if stepResult != nil {
|
||||||
elapsed = stepResult.Elapsed
|
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
|
// update flag
|
||||||
testcaseSuccess = false
|
testcaseSuccess = false
|
||||||
@@ -165,7 +172,7 @@ func (b *HRPBoomer) convertBoomerTask(testcase *TestCase, rendezvousList []*Rend
|
|||||||
// no record required
|
// no record required
|
||||||
} else {
|
} else {
|
||||||
// request or testcase step
|
// 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
|
// update extracted variables
|
||||||
for k, v := range stepResult.ExportVars {
|
for k, v := range stepResult.ExportVars {
|
||||||
sessionRunner.sessionVariables[k] = v
|
sessionRunner.sessionVariables[k] = v
|
||||||
|
|||||||
@@ -64,10 +64,17 @@ func (r *SessionRunner) Start(givenVars map[string]interface{}) error {
|
|||||||
|
|
||||||
// run step in sequential order
|
// run step in sequential order
|
||||||
for _, step := range r.testCase.TestSteps {
|
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")
|
Str("type", string(step.Type())).Msg("run step start")
|
||||||
|
|
||||||
stepResult, err := step.Run(r)
|
stepResult, err := step.Run(r)
|
||||||
|
stepResult.Name = stepName
|
||||||
if err != nil {
|
if err != nil {
|
||||||
log.Error().
|
log.Error().
|
||||||
Str("step", stepResult.Name).
|
Str("step", stepResult.Name).
|
||||||
|
|||||||
Reference in New Issue
Block a user