mirror of
https://github.com/httprunner/httprunner.git
synced 2026-06-25 17:44:02 +08:00
feat: add hrp.Run wrapper
This commit is contained in:
@@ -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)
|
||||
}
|
||||
|
||||
@@ -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)
|
||||
}
|
||||
|
||||
@@ -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
|
||||
}
|
||||
|
||||
@@ -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)
|
||||
}
|
||||
|
||||
@@ -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)
|
||||
}
|
||||
|
||||
@@ -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)
|
||||
}
|
||||
|
||||
@@ -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)
|
||||
}
|
||||
|
||||
@@ -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)
|
||||
}
|
||||
|
||||
@@ -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)
|
||||
}
|
||||
|
||||
@@ -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)
|
||||
}
|
||||
|
||||
@@ -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)
|
||||
}
|
||||
|
||||
@@ -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)
|
||||
}
|
||||
|
||||
@@ -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
|
||||
}
|
||||
|
||||
@@ -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 {
|
||||
|
||||
Reference in New Issue
Block a user