mirror of
https://github.com/httprunner/httprunner.git
synced 2026-08-28 19:47:14 +08:00
fix: failed to record the step of occuring error in the html report
This commit is contained in:
+10
-11
@@ -300,6 +300,16 @@ func runStepRequest(r *SessionRunner, step *TStep) (stepResult *StepResult, err
|
|||||||
if err != nil {
|
if err != nil {
|
||||||
stepResult.Attachment = err.Error()
|
stepResult.Attachment = err.Error()
|
||||||
}
|
}
|
||||||
|
// update summary
|
||||||
|
r.summary.Records = append(r.summary.Records, stepResult)
|
||||||
|
r.summary.Stat.Total += 1
|
||||||
|
if stepResult.Success {
|
||||||
|
r.summary.Stat.Successes += 1
|
||||||
|
} else {
|
||||||
|
r.summary.Stat.Failures += 1
|
||||||
|
// update summary result to failed
|
||||||
|
r.summary.Success = false
|
||||||
|
}
|
||||||
}()
|
}()
|
||||||
|
|
||||||
// override step variables
|
// override step variables
|
||||||
@@ -442,17 +452,6 @@ func runStepRequest(r *SessionRunner, step *TStep) (stepResult *StepResult, err
|
|||||||
stepResult.ContentSize = resp.ContentLength
|
stepResult.ContentSize = resp.ContentLength
|
||||||
stepResult.Data = sessionData
|
stepResult.Data = sessionData
|
||||||
|
|
||||||
// update summary
|
|
||||||
r.summary.Records = append(r.summary.Records, stepResult)
|
|
||||||
r.summary.Stat.Total += 1
|
|
||||||
if stepResult.Success {
|
|
||||||
r.summary.Stat.Successes += 1
|
|
||||||
} else {
|
|
||||||
r.summary.Stat.Failures += 1
|
|
||||||
// update summary result to failed
|
|
||||||
r.summary.Success = false
|
|
||||||
}
|
|
||||||
|
|
||||||
return stepResult, err
|
return stepResult, err
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
+13
-9
@@ -44,13 +44,20 @@ func (s *StepTestCaseWithOptionalArgs) Struct() *TStep {
|
|||||||
return s.step
|
return s.step
|
||||||
}
|
}
|
||||||
|
|
||||||
func (s *StepTestCaseWithOptionalArgs) Run(r *SessionRunner) (*StepResult, error) {
|
func (s *StepTestCaseWithOptionalArgs) Run(r *SessionRunner) (stepResult *StepResult, err error) {
|
||||||
stepResult := &StepResult{
|
stepResult = &StepResult{
|
||||||
Name: s.step.Name,
|
Name: s.step.Name,
|
||||||
StepType: stepTypeTestCase,
|
StepType: stepTypeTestCase,
|
||||||
Success: false,
|
Success: false,
|
||||||
}
|
}
|
||||||
|
|
||||||
|
defer func() {
|
||||||
|
// update testcase summary
|
||||||
|
if err != nil {
|
||||||
|
stepResult.Attachment = err.Error()
|
||||||
|
}
|
||||||
|
}()
|
||||||
|
|
||||||
stepVariables, err := r.MergeStepVariables(s.step.Variables)
|
stepVariables, err := r.MergeStepVariables(s.step.Variables)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return stepResult, err
|
return stepResult, err
|
||||||
@@ -82,12 +89,10 @@ func (s *StepTestCaseWithOptionalArgs) Run(r *SessionRunner) (*StepResult, error
|
|||||||
start := time.Now()
|
start := time.Now()
|
||||||
// run referenced testcase with step variables
|
// run referenced testcase with step variables
|
||||||
err = sessionRunner.Start(stepVariables)
|
err = sessionRunner.Start(stepVariables)
|
||||||
stepResult.Elapsed = time.Since(start).Milliseconds()
|
if err == nil {
|
||||||
if err != nil {
|
stepResult.Success = true
|
||||||
stepResult.Attachment = err.Error()
|
|
||||||
r.summary.Success = false
|
|
||||||
return stepResult, err
|
|
||||||
}
|
}
|
||||||
|
stepResult.Elapsed = time.Since(start).Milliseconds()
|
||||||
summary := sessionRunner.GetSummary()
|
summary := sessionRunner.GetSummary()
|
||||||
// update step names
|
// update step names
|
||||||
for _, record := range summary.Records {
|
for _, record := range summary.Records {
|
||||||
@@ -96,7 +101,6 @@ func (s *StepTestCaseWithOptionalArgs) Run(r *SessionRunner) (*StepResult, error
|
|||||||
stepResult.Data = summary.Records
|
stepResult.Data = summary.Records
|
||||||
// export testcase export variables
|
// export testcase export variables
|
||||||
stepResult.ExportVars = summary.InOut.ExportVars
|
stepResult.ExportVars = summary.InOut.ExportVars
|
||||||
stepResult.Success = true
|
|
||||||
|
|
||||||
// merge testcase summary
|
// merge testcase summary
|
||||||
r.summary.Records = append(r.summary.Records, summary.Records...)
|
r.summary.Records = append(r.summary.Records, summary.Records...)
|
||||||
@@ -104,5 +108,5 @@ func (s *StepTestCaseWithOptionalArgs) Run(r *SessionRunner) (*StepResult, error
|
|||||||
r.summary.Stat.Successes += summary.Stat.Successes
|
r.summary.Stat.Successes += summary.Stat.Successes
|
||||||
r.summary.Stat.Failures += summary.Stat.Failures
|
r.summary.Stat.Failures += summary.Stat.Failures
|
||||||
|
|
||||||
return stepResult, nil
|
return stepResult, err
|
||||||
}
|
}
|
||||||
|
|||||||
+10
-10
@@ -239,6 +239,16 @@ func runStepWebSocket(r *SessionRunner, step *TStep) (stepResult *StepResult, er
|
|||||||
if err != nil {
|
if err != nil {
|
||||||
stepResult.Attachment = err.Error()
|
stepResult.Attachment = err.Error()
|
||||||
}
|
}
|
||||||
|
// update summary
|
||||||
|
r.summary.Records = append(r.summary.Records, stepResult)
|
||||||
|
r.summary.Stat.Total += 1
|
||||||
|
if stepResult.Success {
|
||||||
|
r.summary.Stat.Successes += 1
|
||||||
|
} else {
|
||||||
|
r.summary.Stat.Failures += 1
|
||||||
|
// update summary result to failed
|
||||||
|
r.summary.Success = false
|
||||||
|
}
|
||||||
}()
|
}()
|
||||||
|
|
||||||
// override step variables
|
// override step variables
|
||||||
@@ -385,16 +395,6 @@ func runStepWebSocket(r *SessionRunner, step *TStep) (stepResult *StepResult, er
|
|||||||
stepResult.Success = true
|
stepResult.Success = true
|
||||||
}
|
}
|
||||||
|
|
||||||
// update summary
|
|
||||||
r.summary.Records = append(r.summary.Records, stepResult)
|
|
||||||
r.summary.Stat.Total += 1
|
|
||||||
if stepResult.Success {
|
|
||||||
r.summary.Stat.Successes += 1
|
|
||||||
} else {
|
|
||||||
r.summary.Stat.Failures += 1
|
|
||||||
// update summary result to failed
|
|
||||||
r.summary.Success = false
|
|
||||||
}
|
|
||||||
return stepResult, nil
|
return stepResult, nil
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -199,5 +199,6 @@ func newSummary() *TestCaseSummary {
|
|||||||
Stat: &TestStepStat{},
|
Stat: &TestStepStat{},
|
||||||
Time: &TestCaseTime{},
|
Time: &TestCaseTime{},
|
||||||
InOut: &TestCaseInOut{},
|
InOut: &TestCaseInOut{},
|
||||||
|
Records: []*StepResult{},
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user