feat: add hrp.Run wrapper

This commit is contained in:
lilong.129
2023-06-06 20:38:43 +08:00
parent b3a832fdf0
commit f3e5f3ac85
14 changed files with 31 additions and 44 deletions
@@ -54,8 +54,7 @@ func TestAndroidDouyinFeedTest(t *testing.T) {
t.Fatal(err) t.Fatal(err)
} }
runner := hrp.NewRunner(t).SetSaveTests(true) err := hrp.Run(t, testCase)
err := runner.Run(testCase)
if err != nil { if err != nil {
t.Fatal(err) t.Fatal(err)
} }
@@ -51,8 +51,7 @@ func TestAndroidLiveSwipeTest(t *testing.T) {
t.Fatal(err) t.Fatal(err)
} }
runner := hrp.NewRunner(t).SetSaveTests(true) err := hrp.Run(t, testCase)
err := runner.Run(testCase)
if err != nil { if err != nil {
t.Fatal(err) t.Fatal(err)
} }
@@ -18,7 +18,7 @@
{ {
"method": "video_crawler", "method": "video_crawler",
"params": { "params": {
"app_package_name": "com.smile.gifmaker", "app_package_name": "com.ss.android.ugc.aweme",
"feed": { "feed": {
"sleep_random": [ "sleep_random": [
0, 0,
@@ -38,7 +38,7 @@
1, 1,
1 1
], ],
"target": 0, "target": 1,
"text": "^广告$" "text": "^广告$"
}, },
{ {
@@ -49,7 +49,7 @@
1, 1,
1 1
], ],
"target": 0, "target": 1,
"text": "^图文$" "text": "^图文$"
}, },
{ {
@@ -89,7 +89,7 @@
15, 15,
20 20
], ],
"target_count": 0 "target_count": 3
}, },
"timeout": 600 "timeout": 600
} }
@@ -50,8 +50,7 @@ func TestAndroidVideoCrawlerTest(t *testing.T) {
t.Fatal(err) t.Fatal(err)
} }
runner := hrp.NewRunner(t).SetSaveTests(true) err := hrp.Run(t, testCase)
err := runner.Run(testCase)
if err != nil { if err != nil {
t.Fatal(err) t.Fatal(err)
} }
@@ -96,8 +95,7 @@ func TestAndroidVideoCrawlerKSTest(t *testing.T) {
t.Fatal(err) t.Fatal(err)
} }
runner := hrp.NewRunner(t).SetSaveTests(true) err := hrp.Run(t, testCase)
err := runner.Run(testCase)
if err != nil { if err != nil {
t.Fatal(err) t.Fatal(err)
} }
@@ -48,8 +48,7 @@ func TestIOSDouyinFollowLive(t *testing.T) {
t.Fatal(err) t.Fatal(err)
} }
runner := hrp.NewRunner(t).SetSaveTests(true) err := hrp.Run(t, testCase)
err := runner.Run(testCase)
if err != nil { if err != nil {
t.Fatal(err) t.Fatal(err)
} }
+1 -2
View File
@@ -49,8 +49,7 @@ func TestIOSDouyinLive(t *testing.T) {
t.Fatal(err) t.Fatal(err)
} }
runner := hrp.NewRunner(t).SetSaveTests(true) err := hrp.Run(t, testCase)
err := runner.Run(testCase)
if err != nil { if err != nil {
t.Fatal(err) t.Fatal(err)
} }
+1 -2
View File
@@ -60,8 +60,7 @@ func TestAndroidKuaiShouFeedCardLive(t *testing.T) {
t.Fatal(err) t.Fatal(err)
} }
runner := hrp.NewRunner(t).SetSaveTests(true) err := hrp.Run(t, testCase)
err := runner.Run(testCase)
if err != nil { if err != nil {
t.Fatal(err) t.Fatal(err)
} }
+1 -2
View File
@@ -45,8 +45,7 @@ func TestIOSWeixinLive(t *testing.T) {
t.Fatal(err) t.Fatal(err)
} }
runner := hrp.NewRunner(t).SetSaveTests(true) err := hrp.Run(t, testCase)
err := runner.Run(testCase)
if err != nil { if err != nil {
t.Fatal(err) t.Fatal(err)
} }
@@ -53,12 +53,8 @@ func TestIOSKuaiShouLive(t *testing.T) {
if err := testCase.Dump2JSON("ios_kuaishou_follow_live_test.json"); err != nil { if err := testCase.Dump2JSON("ios_kuaishou_follow_live_test.json"); err != nil {
t.Fatal(err) t.Fatal(err)
} }
if err := testCase.Dump2YAML("ios_kuaishou_follow_live_test.yaml"); err != nil {
t.Fatal(err)
}
runner := hrp.NewRunner(t).SetSaveTests(true) err := hrp.Run(t, testCase)
err := runner.Run(testCase)
if err != nil { if err != nil {
t.Fatal(err) t.Fatal(err)
} }
+1 -2
View File
@@ -55,8 +55,7 @@ func TestWDALog(t *testing.T) {
t.Fatal(err) t.Fatal(err)
} }
runner := hrp.NewRunner(t).SetSaveTests(true) err := hrp.Run(t, testCase)
err := runner.Run(testCase)
if err != nil { if err != nil {
t.Fatal(err) t.Fatal(err)
} }
+1 -2
View File
@@ -102,8 +102,7 @@ func TestIOSDouyinWorldCupLive(t *testing.T) {
}, },
} }
runner := hrp.NewRunner(t).SetSaveTests(true) err := hrp.Run(t, testCase)
err := runner.Run(testCase)
if err != nil { if err != nil {
t.Fatal(err) t.Fatal(err)
} }
+4 -1
View File
@@ -5,6 +5,7 @@ import (
"time" "time"
"github.com/getsentry/sentry-go" "github.com/getsentry/sentry-go"
"github.com/rs/zerolog/log"
"github.com/httprunner/httprunner/v4/hrp/cmd" "github.com/httprunner/httprunner/v4/hrp/cmd"
) )
@@ -21,5 +22,7 @@ func main() {
} }
}() }()
os.Exit(cmd.Execute()) exitCode := cmd.Execute()
log.Info().Int("code", exitCode).Msg("hrp exit")
os.Exit(exitCode)
} }
+7 -5
View File
@@ -155,18 +155,20 @@ func IsErrorPredefined(err error) bool {
return ok return ok
} }
func GetErrorCode(err error) (exitCode int) { func GetErrorCode(err error) (errCode int) {
defer func() {
log.Debug().Int("code", errCode).Msg("get error code")
}()
if err == nil { if err == nil {
return Success return Success
} }
e := errors.Cause(err) e := errors.Cause(err)
if code, ok := errorsMap[e]; ok { if code, ok := errorsMap[e]; ok {
exitCode = code errCode = code
} else { } else {
exitCode = GeneralFail errCode = GeneralFail
} }
log.Warn().Int("code", exitCode).Msg("hrp exit")
return return
} }
+5 -9
View File
@@ -30,10 +30,11 @@ import (
"github.com/httprunner/httprunner/v4/hrp/pkg/uixt" "github.com/httprunner/httprunner/v4/hrp/pkg/uixt"
) )
// Run starts to run API test with default configs. // Run starts to run testcase with default configs.
func Run(testcases ...ITestCase) error { func Run(t *testing.T, testcases ...ITestCase) error {
t := &testing.T{} err := NewRunner(t).SetSaveTests(true).Run(testcases...)
return NewRunner(t).SetRequestsLogOn().Run(testcases...) code.GetErrorCode(err)
return err
} }
// NewRunner constructs a new runner instance. // NewRunner constructs a new runner instance.
@@ -204,11 +205,6 @@ func (r *HRPRunner) Run(testcases ...ITestCase) (err error) {
// record execution data to summary // record execution data to summary
s := newOutSummary() s := newOutSummary()
defer func() {
exitCode := code.GetErrorCode(err)
log.Info().Int("code", exitCode).Msg("hrp runner exit code")
}()
// load all testcases // load all testcases
testCases, err := LoadTestCases(testcases...) testCases, err := LoadTestCases(testcases...)
if err != nil { if err != nil {