mirror of
https://github.com/httprunner/httprunner.git
synced 2026-05-15 20:38:44 +08:00
refactor: runStep
This commit is contained in:
14
runner.go
14
runner.go
@@ -1,6 +1,7 @@
|
||||
package httpboomer
|
||||
|
||||
import (
|
||||
"log"
|
||||
"net/http"
|
||||
|
||||
"github.com/imroc/req"
|
||||
@@ -33,15 +34,24 @@ func (r *Runner) Run(testcases ...*TestCase) error {
|
||||
|
||||
func (r *Runner) runCase(testcase *TestCase) error {
|
||||
config := &testcase.Config
|
||||
log.Printf("Start to run testcase: %v", config.Name)
|
||||
for _, step := range testcase.TestSteps {
|
||||
if err := step.Run(config); err != nil {
|
||||
tStep := parseStep(step, config)
|
||||
if err := r.runStep(tStep); err != nil {
|
||||
return err
|
||||
}
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
func parseStep(step IStep, config *TConfig) *TStep {
|
||||
tStep := step.ToStruct()
|
||||
tStep.Request.URL = config.BaseURL + tStep.Request.URL
|
||||
return tStep
|
||||
}
|
||||
|
||||
func (r *Runner) runStep(step *TStep) error {
|
||||
log.Printf("run step begin: %v >>>>>>", step.Name)
|
||||
var v []interface{}
|
||||
v = append(v, req.Header(step.Request.Headers))
|
||||
v = append(v, req.Param(step.Request.Params))
|
||||
@@ -53,11 +63,13 @@ func (r *Runner) runStep(step *TStep) error {
|
||||
})
|
||||
}
|
||||
|
||||
req.Debug = true
|
||||
resp, err := r.Client.Do(string(step.Request.Method), step.Request.URL, v...)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
resp.Response().Body.Close()
|
||||
log.Printf("run step end: %v <<<<<<\n", step.Name)
|
||||
return nil
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user