From e91e1ad8b035ea23f127da46705af39f69f484dc Mon Sep 17 00:00:00 2001 From: debugtalk Date: Sun, 3 Oct 2021 23:50:22 +0800 Subject: [PATCH] feat: parseConfig --- runner.go | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) diff --git a/runner.go b/runner.go index 4a39e7ad..303e9227 100644 --- a/runner.go +++ b/runner.go @@ -47,6 +47,10 @@ func (r *Runner) Run(testcases ...*TestCase) error { func (r *Runner) runCase(testcase *TestCase) error { config := &testcase.Config + if err := r.parseConfig(config); err != nil { + return err + } + log.Printf("Start to run testcase: %v", config.Name) extractedVariables := make(map[string]interface{}) @@ -164,6 +168,26 @@ func (r *Runner) runStepTestCase(step *TStep) (stepData *StepData, err error) { return } +func (r *Runner) parseConfig(config *TConfig) error { + // parse config variables + parsedVariables, err := parseVariables(config.Variables) + if err != nil { + log.Printf("[parseConfig] parse variables: %v, error: %v", config.Variables, err) + return err + } + config.Variables = parsedVariables + + // parse config name + parsedName := parseString(config.Name, config.Variables) + config.Name = convertString(parsedName) + + // parse config base url + parsedBaseURL := parseString(config.BaseURL, config.Variables) + config.BaseURL = convertString(parsedBaseURL) + + return nil +} + func (r *Runner) GetSummary() *TestCaseSummary { return &TestCaseSummary{} }