mirror of
https://github.com/httprunner/httprunner.git
synced 2026-06-07 00:39:34 +08:00
set DisableFlagParsing: true
This commit is contained in:
@@ -1,6 +1,7 @@
|
||||
package cmd
|
||||
|
||||
import (
|
||||
"fmt"
|
||||
"os"
|
||||
"strings"
|
||||
|
||||
@@ -13,9 +14,10 @@ import (
|
||||
)
|
||||
|
||||
var runCurlCmd = &cobra.Command{
|
||||
Use: "curl URLs",
|
||||
Short: "run API test with go engine by curl command",
|
||||
Args: cobra.MinimumNArgs(1),
|
||||
Use: "curl URLs",
|
||||
Short: "run API test with go engine by curl command",
|
||||
Args: cobra.MinimumNArgs(1),
|
||||
DisableFlagParsing: true,
|
||||
PreRun: func(cmd *cobra.Command, args []string) {
|
||||
setLogLevel(logLevel)
|
||||
},
|
||||
@@ -28,11 +30,12 @@ var runCurlCmd = &cobra.Command{
|
||||
}
|
||||
|
||||
var boomCurlCmd = &cobra.Command{
|
||||
Use: "curl URLs",
|
||||
Short: "run load test with boomer by curl command",
|
||||
Args: cobra.MinimumNArgs(1),
|
||||
Use: "curl URLs",
|
||||
Short: "run load test with boomer by curl command",
|
||||
Args: cobra.MinimumNArgs(1),
|
||||
DisableFlagParsing: true,
|
||||
PreRun: func(cmd *cobra.Command, args []string) {
|
||||
boomer.SetUlimit(10240) // ulimit -n 10240
|
||||
boomer.SetUlimit(10240)
|
||||
if !strings.EqualFold(logLevel, "DEBUG") {
|
||||
logLevel = "WARN" // disable info logs for load testing
|
||||
}
|
||||
@@ -45,9 +48,10 @@ var boomCurlCmd = &cobra.Command{
|
||||
}
|
||||
|
||||
var convertCurlCmd = &cobra.Command{
|
||||
Use: "curl URLs",
|
||||
Short: "convert curl command to httprunner testcase",
|
||||
Args: cobra.MinimumNArgs(1),
|
||||
Use: "curl URLs",
|
||||
Short: "convert curl command to httprunner testcase",
|
||||
Args: cobra.MinimumNArgs(1),
|
||||
DisableFlagParsing: true,
|
||||
PreRun: func(cmd *cobra.Command, args []string) {
|
||||
setLogLevel(logLevel)
|
||||
},
|
||||
@@ -57,35 +61,10 @@ var convertCurlCmd = &cobra.Command{
|
||||
},
|
||||
}
|
||||
|
||||
var (
|
||||
cookieSlice []string
|
||||
dataSlice []string
|
||||
formSlice []string
|
||||
get bool
|
||||
head bool
|
||||
headerSlice []string
|
||||
request string
|
||||
)
|
||||
|
||||
func init() {
|
||||
runCmd.AddCommand(runCurlCmd)
|
||||
addCurlFlags(runCurlCmd)
|
||||
|
||||
boomCmd.AddCommand(boomCurlCmd)
|
||||
addCurlFlags(boomCurlCmd)
|
||||
|
||||
convertCmd.AddCommand(convertCurlCmd)
|
||||
addCurlFlags(convertCurlCmd)
|
||||
}
|
||||
|
||||
func addCurlFlags(cmd *cobra.Command) {
|
||||
cmd.Flags().StringSliceVarP(&cookieSlice, "cookie", "b", nil, "-b, --cookie in curl")
|
||||
cmd.Flags().StringSliceVarP(&dataSlice, "data", "d", nil, "-d, --data in curl")
|
||||
cmd.Flags().StringSliceVarP(&formSlice, "form", "F", nil, "-F, --form in curl")
|
||||
cmd.Flags().BoolVarP(&get, "get", "G", false, "-G, --get in curl")
|
||||
cmd.Flags().BoolVarP(&head, "head", "I", false, "-I, --head in curl")
|
||||
cmd.Flags().StringSliceVarP(&headerSlice, "header", "H", nil, "-H, --header in curl")
|
||||
cmd.Flags().StringVarP(&request, "request", "X", "", "-X, --request in curl")
|
||||
}
|
||||
|
||||
func makeCurlTestCase(args []string) *hrp.TestCase {
|
||||
@@ -95,11 +74,7 @@ func makeCurlTestCase(args []string) *hrp.TestCase {
|
||||
log.Error().Err(err).Msg("convert curl command failed")
|
||||
os.Exit(1)
|
||||
}
|
||||
casePath, err := os.Getwd()
|
||||
if err != nil {
|
||||
casePath = ""
|
||||
log.Error().Err(err).Msg("get working directory failed")
|
||||
}
|
||||
casePath, _ := os.Getwd()
|
||||
testCase, err := tCase.ToTestCase(casePath)
|
||||
if err != nil {
|
||||
log.Error().Err(err).Msg("convert testcase to failed")
|
||||
@@ -109,29 +84,13 @@ func makeCurlTestCase(args []string) *hrp.TestCase {
|
||||
}
|
||||
|
||||
func makeCurlCommand(args []string) string {
|
||||
var cmdList []string
|
||||
cmdList = append(cmdList, "curl")
|
||||
for _, c := range cookieSlice {
|
||||
cmdList = append(cmdList, "--cookie", c)
|
||||
for i := 0; i < len(args); i++ {
|
||||
if !strings.HasPrefix(args[i], "-") {
|
||||
args[i] = fmt.Sprintf("\"%s\"", args[i])
|
||||
}
|
||||
}
|
||||
for _, d := range dataSlice {
|
||||
cmdList = append(cmdList, "--data", d)
|
||||
}
|
||||
for _, f := range formSlice {
|
||||
cmdList = append(cmdList, "--form", f)
|
||||
}
|
||||
if get {
|
||||
cmdList = append(cmdList, "--get")
|
||||
}
|
||||
if head {
|
||||
cmdList = append(cmdList, "--head")
|
||||
}
|
||||
for _, h := range headerSlice {
|
||||
cmdList = append(cmdList, "--header", h)
|
||||
}
|
||||
if request != "" {
|
||||
cmdList = append(cmdList, "--request", request)
|
||||
}
|
||||
cmdList = append(cmdList, args...)
|
||||
return strings.Join(cmdList, " ")
|
||||
var curlCmd []string
|
||||
curlCmd = append(curlCmd, "curl")
|
||||
curlCmd = append(curlCmd, args...)
|
||||
return strings.Join(curlCmd, " ")
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user