diff --git a/examples/parameters_test.yaml b/examples/parameters_test.yaml index 412acaab..0eff1384 100644 --- a/examples/parameters_test.yaml +++ b/examples/parameters_test.yaml @@ -4,7 +4,7 @@ config: user_agent: [ "iOS/10.1", "iOS/10.2" ] username-password: ${parameterize(examples/account.csv)} parameters_setting: - strategy: ["random", "sequential"] + strategy: "" iteration: 10 variables: app_version: v1 diff --git a/parser.go b/parser.go index 0a337f37..0d5c70e6 100644 --- a/parser.go +++ b/parser.go @@ -613,16 +613,6 @@ func initParameterIterator(cfg *TConfig, mode string) (err error) { } rawValue := reflect.ValueOf(cfg.ParametersSetting.Strategy) switch rawValue.Kind() { - case reflect.String: - if len(rawValue.String()) == 0 { - cfg.ParametersSetting.Strategy = strategySequential - } else { - cfg.ParametersSetting.Strategy = strings.ToLower(rawValue.String()) - } - cfg.ParametersSetting.Iterator = append( - cfg.ParametersSetting.Iterator, - newIterator(genCartesianProduct(parameters), cfg.ParametersSetting.Strategy.(string), cfg.ParametersSetting.Iteration), - ) case reflect.Slice: if len(parameters) != rawValue.Len() { return errors.New("parameters and strategy should have the same length") @@ -634,6 +624,22 @@ func initParameterIterator(cfg *TConfig, mode string) (err error) { ) } } + case reflect.String: + if len(rawValue.String()) == 0 { + cfg.ParametersSetting.Strategy = strategySequential + } else { + cfg.ParametersSetting.Strategy = strings.ToLower(rawValue.String()) + } + cfg.ParametersSetting.Iterator = append( + cfg.ParametersSetting.Iterator, + newIterator(genCartesianProduct(parameters), cfg.ParametersSetting.Strategy.(string), cfg.ParametersSetting.Iteration), + ) + default: + cfg.ParametersSetting.Strategy = strategySequential + cfg.ParametersSetting.Iterator = append( + cfg.ParametersSetting.Iterator, + newIterator(genCartesianProduct(parameters), cfg.ParametersSetting.Strategy.(string), cfg.ParametersSetting.Iteration), + ) } return nil }