mirror of
https://github.com/httprunner/httprunner.git
synced 2026-05-13 08:59:44 +08:00
Merge branch 'master' of https://github.com/httprunner/httprunner into refactor-python
This commit is contained in:
@@ -95,27 +95,27 @@ func (b *HRPBoomer) convertBoomerTask(testcase *TestCase, rendezvousList []*Rend
|
||||
Name: config.Name,
|
||||
Weight: config.Weight,
|
||||
Fn: func() {
|
||||
sessionRunner := hrpRunner.NewSessionRunner(testcase)
|
||||
sessionTestCase := &TestCase{}
|
||||
// copy testcase to avoid data racing
|
||||
if err := copier.Copy(sessionTestCase, testcase); err != nil {
|
||||
log.Error().Err(err).Msg("copy testcase data failed")
|
||||
return
|
||||
}
|
||||
sessionRunner := hrpRunner.NewSessionRunner(sessionTestCase)
|
||||
sessionRunner.parser.plugin = plugin
|
||||
|
||||
testcaseSuccess := true // flag whole testcase result
|
||||
var transactionSuccess = true // flag current transaction result
|
||||
|
||||
cfg := testcase.Config
|
||||
caseConfig := &TConfig{}
|
||||
// copy config to avoid data racing
|
||||
if err := copier.Copy(caseConfig, cfg); err != nil {
|
||||
log.Error().Err(err).Msg("copy config data failed")
|
||||
return
|
||||
}
|
||||
cfg := sessionTestCase.Config
|
||||
// iterate through all parameter iterators and update case variables
|
||||
for _, it := range caseConfig.ParametersSetting.Iterators {
|
||||
for _, it := range cfg.ParametersSetting.Iterators {
|
||||
if it.HasNext() {
|
||||
caseConfig.Variables = mergeVariables(it.Next(), caseConfig.Variables)
|
||||
cfg.Variables = mergeVariables(it.Next(), cfg.Variables)
|
||||
}
|
||||
}
|
||||
|
||||
if err := sessionRunner.parseConfig(caseConfig); err != nil {
|
||||
if err := sessionRunner.parseConfig(cfg); err != nil {
|
||||
log.Error().Err(err).Msg("parse config failed")
|
||||
return
|
||||
}
|
||||
|
||||
@@ -177,7 +177,7 @@ type iteratorStrategyType string
|
||||
|
||||
const (
|
||||
strategyRandom iteratorStrategyType = "random"
|
||||
strategySequential iteratorStrategyType = "Sequential"
|
||||
strategySequential iteratorStrategyType = "sequential"
|
||||
)
|
||||
|
||||
type iteratorParamsType []map[string]interface{}
|
||||
|
||||
@@ -652,7 +652,7 @@ func initParameterIterator(cfg *TConfig, mode string) (err error) {
|
||||
// use strategy if configured
|
||||
cfg.ParametersSetting.Iterators = append(
|
||||
cfg.ParametersSetting.Iterators,
|
||||
newIterator(v, rawValue.MapIndex(reflect.ValueOf(k)).Interface().(iteratorStrategyType), cfg.ParametersSetting.Iteration),
|
||||
newIterator(v, iteratorStrategyType(rawValue.MapIndex(reflect.ValueOf(k)).String()), cfg.ParametersSetting.Iteration),
|
||||
)
|
||||
} else {
|
||||
// use sequential strategy by default
|
||||
@@ -667,7 +667,7 @@ func initParameterIterator(cfg *TConfig, mode string) (err error) {
|
||||
if len(rawValue.String()) == 0 {
|
||||
cfg.ParametersSetting.Strategy = strategySequential
|
||||
} else {
|
||||
cfg.ParametersSetting.Strategy = strings.ToLower(rawValue.String())
|
||||
cfg.ParametersSetting.Strategy = iteratorStrategyType(strings.ToLower(rawValue.String()))
|
||||
}
|
||||
cfg.ParametersSetting.Iterators = append(
|
||||
cfg.ParametersSetting.Iterators,
|
||||
|
||||
Reference in New Issue
Block a user