refactor: ParametersIterator

This commit is contained in:
debugtalk
2022-04-16 00:35:25 +08:00
parent 7f67710aad
commit fe2c2f170e
8 changed files with 670 additions and 413 deletions

View File

@@ -163,16 +163,8 @@ func (r *HRPRunner) Run(testcases ...ITestCase) error {
}
}()
// 在runner模式下指定整体策略cfg.ParametersSetting.Iterators仅包含一个CartesianProduct的迭代器
for it := sessionRunner.parsedConfig.ParametersSetting.Iterators[0]; it.HasNext(); {
var parameterVariables map[string]interface{}
// iterate through all parameter iterators and update case variables
for _, it := range sessionRunner.parsedConfig.ParametersSetting.Iterators {
if it.HasNext() {
parameterVariables = it.Next()
}
}
if err = sessionRunner.Start(parameterVariables); err != nil {
for it := sessionRunner.parametersIterator; it.HasNext(); {
if err = sessionRunner.Start(it.Next()); err != nil {
log.Error().Err(err).Msg("[Run] run testcase failed")
return err
}