mirror of
https://github.com/httprunner/httprunner.git
synced 2026-07-12 16:01:27 +08:00
feat: buildURL
This commit is contained in:
29
parser.go
Normal file
29
parser.go
Normal file
@@ -0,0 +1,29 @@
|
|||||||
|
package httpboomer
|
||||||
|
|
||||||
|
import (
|
||||||
|
"log"
|
||||||
|
"net/url"
|
||||||
|
)
|
||||||
|
|
||||||
|
func parseStep(step IStep, config *TConfig) *TStep {
|
||||||
|
tStep := step.ToStruct()
|
||||||
|
tStep.Request.URL = buildURL(config.BaseURL, tStep.Request.URL)
|
||||||
|
return tStep
|
||||||
|
}
|
||||||
|
|
||||||
|
func buildURL(baseURL, stepURL string) string {
|
||||||
|
uConfig, err := url.Parse(baseURL)
|
||||||
|
if err != nil {
|
||||||
|
log.Fatalf("[buildURL] baseURL: %v, error: %v", baseURL, err)
|
||||||
|
return ""
|
||||||
|
}
|
||||||
|
|
||||||
|
uStep, err := uConfig.Parse(stepURL)
|
||||||
|
if err != nil {
|
||||||
|
log.Fatalf("[buildURL] baseURL: %v, error: %v", baseURL, err)
|
||||||
|
return ""
|
||||||
|
}
|
||||||
|
|
||||||
|
// base url missed
|
||||||
|
return uStep.String()
|
||||||
|
}
|
||||||
29
parser_test.go
Normal file
29
parser_test.go
Normal file
@@ -0,0 +1,29 @@
|
|||||||
|
package httpboomer
|
||||||
|
|
||||||
|
import (
|
||||||
|
"testing"
|
||||||
|
)
|
||||||
|
|
||||||
|
func TestBuildURL(t *testing.T) {
|
||||||
|
var url string
|
||||||
|
url = buildURL("https://postman-echo.com", "/get")
|
||||||
|
if url != "https://postman-echo.com/get" {
|
||||||
|
t.Fatalf("buildURL error, %s != 'https://postman-echo.com/get'", url)
|
||||||
|
}
|
||||||
|
|
||||||
|
url = buildURL("https://postman-echo.com/abc/", "/get?a=1&b=2")
|
||||||
|
if url != "https://postman-echo.com/get?a=1&b=2" {
|
||||||
|
t.Fatalf("buildURL error, %s != 'https://postman-echo.com/get'", url)
|
||||||
|
}
|
||||||
|
|
||||||
|
url = buildURL("", "https://postman-echo.com/get")
|
||||||
|
if url != "https://postman-echo.com/get" {
|
||||||
|
t.Fatalf("buildURL error, %s != 'https://postman-echo.com/get'", url)
|
||||||
|
}
|
||||||
|
|
||||||
|
// notice: step request url > config base url
|
||||||
|
url = buildURL("https://postman-echo.com", "https://httpbin.org/get")
|
||||||
|
if url != "https://httpbin.org/get" {
|
||||||
|
t.Fatalf("buildURL error, %s != 'https://httpbin.org/get'", url)
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -44,12 +44,6 @@ func (r *Runner) runCase(testcase *TestCase) error {
|
|||||||
return nil
|
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 {
|
func (r *Runner) runStep(step *TStep) error {
|
||||||
log.Printf("run step begin: %v >>>>>>", step.Name)
|
log.Printf("run step begin: %v >>>>>>", step.Name)
|
||||||
var v []interface{}
|
var v []interface{}
|
||||||
|
|||||||
Reference in New Issue
Block a user