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

View File

@@ -54,8 +54,7 @@ func TestAndroidDouyinFeedTest(t *testing.T) {
t.Fatal(err)
}
runner := hrp.NewRunner(t).SetSaveTests(true)
err := runner.Run(testCase)
err := hrp.Run(t, testCase)
if err != nil {
t.Fatal(err)
}

View File

@@ -51,8 +51,7 @@ func TestAndroidLiveSwipeTest(t *testing.T) {
t.Fatal(err)
}
runner := hrp.NewRunner(t).SetSaveTests(true)
err := runner.Run(testCase)
err := hrp.Run(t, testCase)
if err != nil {
t.Fatal(err)
}

View File

@@ -18,7 +18,7 @@
{
"method": "video_crawler",
"params": {
"app_package_name": "com.smile.gifmaker",
"app_package_name": "com.ss.android.ugc.aweme",
"feed": {
"sleep_random": [
0,
@@ -38,7 +38,7 @@
1,
1
],
"target": 0,
"target": 1,
"text": "^广告$"
},
{
@@ -49,7 +49,7 @@
1,
1
],
"target": 0,
"target": 1,
"text": "^图文$"
},
{
@@ -89,7 +89,7 @@
15,
20
],
"target_count": 0
"target_count": 3
},
"timeout": 600
}

View File

@@ -50,8 +50,7 @@ func TestAndroidVideoCrawlerTest(t *testing.T) {
t.Fatal(err)
}
runner := hrp.NewRunner(t).SetSaveTests(true)
err := runner.Run(testCase)
err := hrp.Run(t, testCase)
if err != nil {
t.Fatal(err)
}
@@ -96,8 +95,7 @@ func TestAndroidVideoCrawlerKSTest(t *testing.T) {
t.Fatal(err)
}
runner := hrp.NewRunner(t).SetSaveTests(true)
err := runner.Run(testCase)
err := hrp.Run(t, testCase)
if err != nil {
t.Fatal(err)
}

View File

@@ -48,8 +48,7 @@ func TestIOSDouyinFollowLive(t *testing.T) {
t.Fatal(err)
}
runner := hrp.NewRunner(t).SetSaveTests(true)
err := runner.Run(testCase)
err := hrp.Run(t, testCase)
if err != nil {
t.Fatal(err)
}

View File

@@ -49,8 +49,7 @@ func TestIOSDouyinLive(t *testing.T) {
t.Fatal(err)
}
runner := hrp.NewRunner(t).SetSaveTests(true)
err := runner.Run(testCase)
err := hrp.Run(t, testCase)
if err != nil {
t.Fatal(err)
}

View File

@@ -60,8 +60,7 @@ func TestAndroidKuaiShouFeedCardLive(t *testing.T) {
t.Fatal(err)
}
runner := hrp.NewRunner(t).SetSaveTests(true)
err := runner.Run(testCase)
err := hrp.Run(t, testCase)
if err != nil {
t.Fatal(err)
}

View File

@@ -45,8 +45,7 @@ func TestIOSWeixinLive(t *testing.T) {
t.Fatal(err)
}
runner := hrp.NewRunner(t).SetSaveTests(true)
err := runner.Run(testCase)
err := hrp.Run(t, testCase)
if err != nil {
t.Fatal(err)
}

View File

@@ -53,12 +53,8 @@ func TestIOSKuaiShouLive(t *testing.T) {
if err := testCase.Dump2JSON("ios_kuaishou_follow_live_test.json"); err != nil {
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 := runner.Run(testCase)
err := hrp.Run(t, testCase)
if err != nil {
t.Fatal(err)
}

View File

@@ -55,8 +55,7 @@ func TestWDALog(t *testing.T) {
t.Fatal(err)
}
runner := hrp.NewRunner(t).SetSaveTests(true)
err := runner.Run(testCase)
err := hrp.Run(t, testCase)
if err != nil {
t.Fatal(err)
}

View File

@@ -102,8 +102,7 @@ func TestIOSDouyinWorldCupLive(t *testing.T) {
},
}
runner := hrp.NewRunner(t).SetSaveTests(true)
err := runner.Run(testCase)
err := hrp.Run(t, testCase)
if err != nil {
t.Fatal(err)
}

View File

@@ -5,6 +5,7 @@ import (
"time"
"github.com/getsentry/sentry-go"
"github.com/rs/zerolog/log"
"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)
}

View File

@@ -155,18 +155,20 @@ func IsErrorPredefined(err error) bool {
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 {
return Success
}
e := errors.Cause(err)
if code, ok := errorsMap[e]; ok {
exitCode = code
errCode = code
} else {
exitCode = GeneralFail
errCode = GeneralFail
}
log.Warn().Int("code", exitCode).Msg("hrp exit")
return
}

View File

@@ -30,10 +30,11 @@ import (
"github.com/httprunner/httprunner/v4/hrp/pkg/uixt"
)
// Run starts to run API test with default configs.
func Run(testcases ...ITestCase) error {
t := &testing.T{}
return NewRunner(t).SetRequestsLogOn().Run(testcases...)
// Run starts to run testcase with default configs.
func Run(t *testing.T, testcases ...ITestCase) error {
err := NewRunner(t).SetSaveTests(true).Run(testcases...)
code.GetErrorCode(err)
return err
}
// NewRunner constructs a new runner instance.
@@ -204,11 +205,6 @@ func (r *HRPRunner) Run(testcases ...ITestCase) (err error) {
// record execution data to summary
s := newOutSummary()
defer func() {
exitCode := code.GetErrorCode(err)
log.Info().Int("code", exitCode).Msg("hrp runner exit code")
}()
// load all testcases
testCases, err := LoadTestCases(testcases...)
if err != nil {